Grub实践
为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;
(1) 为硬盘新建两个主分区;并为其安装grub;
(2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个分区提供rootfs;
(3) 为rootfs提供bash、ls、cat程序及所依赖的库文件;
(4) 为grub提供配置文件;
(5) 将新的硬盘设置为第一启动项并能够正常启动目标主机;
操作步骤:
1.自行为虚拟机额外添加一块硬盘,并设置分区:以/dev/sdb为例,具体操作不再赘述
/dev/sdb1:作为bootloader
/dev/sdb2:作为swap
/dev/sdb3:作为根文件系统
2.将/dev/sdb1挂载至/mnt/boot目录,开始安装grub
mkdir /mnt/boot mount /dev/sdb1 /mnt/boot grub-install --root-directory=/mnt /dev/sdb
3.复制内核文件和initrdfs至//mnt/boot目录下
cp /boot/vmlinuz-2.6.32-431.el6.x86_64 /mnt/boot/vmlinuz
cp /boot/initramfs-2.6.32-431.el6.x86_64.img /mnt/boot/initrdfs
4.创建Grub配置文件
#boot=/dev/sda
default=0
timeout=5
#splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title CentOS (my test)
root (hd0,0)
kernel /vmlinuz ro root=/dev/sdb3 selinux=0 init=/bin/bash
initrd /initramfs.img
5.挂载/dev/sdb3至/mnt/sysroot,并创建相对应的目录etc,bin,....
类似上述方式,可将相应的命令复制到/mnt/sysroot目录下,即可使用,注意命令文件和命令依赖的库都要对应一一复制到对应的目录下
6.另外找台虚拟机将此硬盘加上,即可启动自己设置的微型系统