无忧启动论坛

标题: grub2或者vboot 启动装有centos6.5系统的vhd文件 [打印本页]

作者: helloxixi    时间: 2017-6-26 20:01
标题: grub2或者vboot 启动装有centos6.5系统的vhd文件
我的做法:
1 使用virtualbox将centos6.5安装到了动态centos.vhd。
2 在centos6.5中安装nbd驱动,以及qemu-nbd
3 修改initramfs-2.6.32-431.el6.x86_64.img文件,增加nbd和qemu-nbd
4 使用grub2或者vboot(我使用了vboot,因为vboot中有vhd命令) 启动centos.vhd
5 在vboot中使用vhd命令,将centos.vhd映射成磁盘
6 使用linux,initrd加载内核和initramfs-2.6.32-431.el6.x86_64.img文件
7 initramfs-2.6.32-431.el6.x86_64.img运行起来后加载nbd驱动,然后通过qemu-nbd来把vhd文件映射成块设备,然后把这个块设备挂载到/sysroot 最后chroot文件系统。

遇到的问题是,在第7步的时候找不到root device,后来进入调试模式,发现/dev/  下是空的,没有任何磁盘设备,我的vhd文件是放在物理硬盘上的,所以也就找不到vhd文件,有人知道为什么在initramfs-2.6.32-431.el6.x86_64.img中找不到磁盘吗?
作者: lintrainwy    时间: 2017-6-26 20:46
Linux 有它自己用的虚拟磁盘格式可以用,干嘛非费那个劲儿用VHD?
作者: lbw2007    时间: 2017-6-26 23:16
路过留名,有了虚拟机之后就再也不研究这些知识了。
学习学习
作者: wintoflash    时间: 2017-6-27 08:28
vboot应该不支持动态vhd
作者: helloxixi    时间: 2017-6-27 09:32
wintoflash 发表于 2017-6-27 08:28
vboot应该不支持动态vhd

动态vhd和差分都支持
作者: helloxixi    时间: 2017-6-27 09:32
wintoflash 发表于 2017-6-27 08:28
vboot应该不支持动态vhd

动态vhd和差分都支持
作者: helloxixi    时间: 2017-6-27 09:32
wintoflash 发表于 2017-6-27 08:28
vboot应该不支持动态vhd

动态vhd和差分都支持
作者: 2011niumao    时间: 2017-7-7 19:34
第7步需要加入一个自己编写的脚本到initramfs里面。(记得centos是dracut)。另外需要kpartx命令。
参考一下
  1. ### mount the vhd-file on a loop-device
  2.         if [ "${QEMUNBD#/}" !=  "${QEMUNBD}" ]; then              
  3.                 modprobe  nbd  
  4.                 modprobe  loop
  5.                 [ -e  /dev/nbd0 ] || sleep 3
  6.                 qemu-nbd  -c /dev/nbd0  /host${QEMUNBD}
  7.                 kpartx -av /dev/nbd0
  8.                 [ -e "$realroot" ] || sleep 3
  9.         fi
复制代码
完整的脚本在我的帖子---给你的回复里面。




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3