Grub实践

时间:2022-05-11 03:47:21

为运行于虚拟机上的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,....

Grub实践

  类似上述方式,可将相应的命令复制到/mnt/sysroot目录下,即可使用,注意命令文件和命令依赖的库都要对应一一复制到对应的目录下

  6.另外找台虚拟机将此硬盘加上,即可启动自己设置的微型系统