硬盘分区以最简单的为例,单硬盘,第一个主分区装了XP或者Vista,第二个主分区装了Ubuntu。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
【已解决】
我通过自己的学习,已经自己解决了这个问题,并且实践成功。这里将我实现的方法写在下面,还希望高人指点。
我在设置的过程中使用了可启动软盘。如果没有软盘,根据实际需要,也可以用可启动U盘或者Live CD代替。
XP/Ubuntu:
1.将Fdisk.exe和GRUB4DOS拷贝到可启动FDD(软盘),从FDD启动,在DOS环境下输入如下命令:
代码: 全选
#这条命令用来修复XP的MBR
fdisk /mbr
代码: 全选
cd grub4dos
grub
代码: 全选
#这条命令用来找到menu.lst所在分区,它会反馈一个(hdx,y)形式的结果,在本例中,这里是(hd0,1)
find /boot/grub/menu.lst
root (hdx,y)
#这条命令用来安装GRUB到Linux分区,而不是整个硬盘上。
setup (hdx,y)
quit
代码: 全选
#这条指令非常关键。它是把Linux分区的第一个扇区即Linux分区的引导扇区(大小为512 字节)复制为Windows 启动分区根目录下名为linux.lnx的文件。sdaA指的是Linux的分区,在本例中为sda2,/media/disk-B是指Windows分区挂载在Ubuntu的路径,在本例中为/media/disk。其它的Linux挂载的路径可能不同,甚至我们需要自己手动输入再输入一条mount命令将Windows分区挂载到/mnt下,然后再执行这条命令。
sudo dd if=/dev/sdaA of=/media/disk-B/linux.lnx bs=512 count=1
代码: 全选
cd c:\
attrib boot.ini –r –s –h
代码: 全选
C:\linux.lnx=“Ubuntu”
Vista/Ubuntu:
1.将Vista安装光盘放入光驱,从光驱启动,在语言,时区,键盘选择界面点击”下一步”,然后选择”修复计算机”,在”系统恢复选项”中,选择Vista系统,然后点击”下一步”,接下来单击”命令提示符”,在DOS环境下输入如下命令:
代码: 全选
bootrec /fixmbr
2.从Live CD进入Ubuntu,在终端下输入如下命令:
代码: 全选
sudo grub
find /boot/grub/menu.lst
root (hdx,y)
setup (hdx,y)
quit
sudo mkdir /mnt/windows
#mount命令和dd命令需要根据具体的环境来输入硬盘分区信息。X,Y只是符号,而且并不等于上面的x,y。
sudo mount -t ntfs /dev/sdaX /mnt/windows
sudo dd if=/dev/sdaY of=/mnt/windows/ubuntu.lnx bs=512 count=1
sudo umount /mnt/windows
sudo reboot
代码: 全选
#这里是通过BCDEdit.exe对Vista的BCD(类似于XP的boot.ini)进行编辑。执行完第一条命令会得到一个反馈的结果,类似于{7834f68a-7434-11dd-b717-001ec906b8c6}的形式,下面的命令中的{id}既是指的这个。
bcdedit /create /d “Ubuntu" /application bootsector
bcdedit /set {id} device boot
bcdedit /set {id} path \ubuntu.lnx
bcdedit /displayorder {id} /addlast
bcdedit /timeout 5