工作需要 要装windowsxp , 我使用 -hda /dev/sda6 不是sda, 在sda6里面创建了一个mbr, 安装xp,
我想利用主机里的grub来引导, 磁盘是gpt的, windows不支持gpt, 但sda6里面的分区是mbr的.
qemu启动成功, grub引导启动失败.
fdisk -l /dev/sda6 可以查看分区.
qemu 支持使用物理硬盘, 但要加上 -hda /dev/sdX 可以启动你物理磁盘中的操作系统(和主机启动相同的系统貌似有问题)
我现在就是把分区当硬盘用了.
grub2 能引导这种虚拟磁盘吗?
最近编辑记录 yichenburan (2013-11-22 12:27:28)
一切有为法,如梦幻泡影。
离线
Windows 能从这种磁盘上启动吗?
离线
sda6 是 msdos类型的, qemu支持使用整块真实的物理磁盘, 我把/dev/sda6当成整块磁盘给qemu用, 在里面分区。
fdisk -l /dev/sda6
Disk /dev/sda6: 53.7 GB, 53686771200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104856975 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00084f77
Device Boot Start End Blocks Id System
/dev/sda6p1 * 63 104856254 52428096 c W95 FAT32 (LBA)
Partition 1 does not start on physical sector boundary.
在外面mount -o loop,offset=$((512*63)) /dev/sda6 /mnt
挂载成功
grub2 可以识别(hd0,gpt6,msdos1)
set root=(hd0,gpt6,msdos1)
chainloader +1
couldn't read the boot system
一切有为法,如梦幻泡影。
离线
这种方法应该是不会成功的, windows xp把/dev/sda6当成一整块磁盘才能启动, 但是在非虚拟的环境下, 一定会尝试去识别整块物理磁盘, 而不会把物理磁盘的一部分当成一个磁盘, 所以一定会失败, 倒是linux, 如果在fstab中指定 /dev/sda6中分区的偏移量说不定能成功, 不过没心情测试了.
我这么做主要是windowsxp不认识gpt类型的硬盘, 看来我得把gpt转成mbr才行.
如果谁知道有办法做到, 启动分区中的 windowsxp分区, 告诉我一声.
最近编辑记录 yichenburan (2013-11-22 12:28:37)
一切有为法,如梦幻泡影。
离线
你直接在虚拟机里用 xp 吧。
离线
你直接在虚拟机里用 xp 吧。
没有主机好用, 我们的电脑配置较低, 不过硬盘成功转换成为mbr类型的了, 没有丢失数据, 只是一个扩展分区起始位置不对齐, gparted不能对这个分区操作, 不影响使用.
我在验证是否成功的时候不敢重启电脑, 如果分区表错误, 重启就麻烦了, 就用qemu 启动主机硬盘, 经过qemu验证没问题才重启的.多亏了qemu
一切有为法,如梦幻泡影。
离线
离线
你就是把 sda6 那个分区当作磁盘镜象给虚拟机用了吧?
这个是两年前在上家公司遇到的问题了 当时是的 虚拟机可以引导 主机不行 具体的记不清了
一切有为法,如梦幻泡影。
离线