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
(4)、目录创建好后,里面全是空的,没文件,要复制文件进去才行并且是对应目录的文件(注:源文件和依赖的库文件一起复制过去,用命令ldd path/to/filename)
比如:/bin/bash
6、切换根:chroot /mnt/sysroot/
7、重启用e设置
重启用e进入,设置启动新的根文件系统(hd1,0) /dev/sdb2
注:如果要把这块硬盘单独给一个机器用就设置/mnt/boot/grub/grub.conf文件,将/dev/sdb2改成/dev/sda2(因为到另一个机子上就是一个硬盘,默认的是sda了)
新建虚拟机,然后,选择已有磁盘,加载上步生成的磁盘文件,就可以运行了,不过功能就只有bash.因为只复制了一个bash
7、在新建虚拟机中使用:
8、已经成功
原文地址:http://liguoqing.blog.51cto.com/327222/1730390