1、分三个区:sdb1  500M      boot

        sdb2  5G           /

        sdb3   2G        swap

2、格式化三个分区

 

3、挂载:mount /dev/sdb1 /mnt/boot

 

grub-install --root-directory=/mnt   /dev/sdb(让程序自动去找mnt下面的boot目录)

        4、配置文件

                  (1)、  /mnt/boot/grub/

                  (2)、新增加一个grub.conf文件

                                   default=0

                                   timeout=5

title CentOS-ThinkPad (express)

        root (hd1,0)

        kernel /vmlinuz ro root=/dev/sdb2  这里是要创建根文件系统的路径

        initrd /initramfs.img          

        5、创建目录及复制文件

          (1)、从其他boot目录下复制initramfs.img  和vmlinuz等文件到 /mnt/boot目录下

 

          (2)、挂载根文件系统:/dev/sdb2

              在mnt目录下创建myroot 目录,挂载mount  /dev/sdb2  /mnt/myroot

 

          (3)、创建系统目录(在新的根下): /mnt/myroot/

mkdir -pv etc bin sbin lib lib64 dev proc sys tmp var usr home root mnt media

wKioL1aExa-g5xKoAAAPtP_D7tw134.png

                (4)、目录创建好后,里面全是空的,没文件,要复制文件进去才行并且是对应目录的文件(注:源文件和依赖的库文件一起复制过去,用命令ldd   path/to/filename)

     比如:/bin/bash

6、切换根:chroot /mnt/sysroot/

    wKioL1aExbDQ_YecAAAMHaB1jo4884.png

        7、重启用e设置

    重启用e进入,设置启动新的根文件系统(hd1,0) /dev/sdb2

    

 

        注:如果要把这块硬盘单独给一个机器用就设置/mnt/boot/grub/grub.conf文件,将/dev/sdb2改成/dev/sda2(因为到另一个机子上就是一个硬盘,默认的是sda了)

新建虚拟机,然后,选择已有磁盘,加载上步生成的磁盘文件,就可以运行了,不过功能就只有bash.因为只复制了一个bash

   7、在新建虚拟机中使用:

    wKioL1aExbTTYHDmAAA87ybDRaA391.png

  8、已经成功