修复ubuntu启动项之重写Grub和MBR !

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
Qzier
帖子: 41
注册时间: 2008-02-15 0:45

修复ubuntu启动项之重写Grub和MBR !

#1

帖子 Qzier » 2009-08-17 1:25

--------------

这几天对于多系统的一个总结 :

遇到一个情况 ubuntu ext4 /dev/sda7 xp ntfs /dev/sa1 fedora ex3 /dev/sda4 swap /dev/sda8

在安装 ubuntu 后 ... 因为想安装oracle ... 加上自己现在跨平台已经感觉非常轻松了 ... 又想尝一下最新的软件 ... 所以fedora 的安装也被提上了日程 ... 其实颇为折腾 ... 但是最后还是成功了 ... 难以言说这中间的纠结 ... 下面作个总结 :

$ su/sudo su //看情况

passward :***

# mkdir /mnt/sda7

# mount /dev/sda7 /mnt/sda7

# chroot /mnt/sda7

# grub-install --root-directory=/mnt/sda7 /dev/sda //要注意格式和空格 ...

# find /boot/grub/stage1

(hd0,3)
(hd0,6)

# root (hd0,6)

# setup (hd0)

# quit 也可以先等等

这个时候其实grub 已经把引导信息写入了 MBR 了 ... 但是还是做一个 启动菜单 ...

# mkdir /mnt/sda4

# mount /dev/sda4 /mnt/sda4

# chroot /mnt/sda4

# vim /boot/grub/menu.lst //按 i 进入 insert 模式 :wq 保存退出

//把里面的的内容复制出来

// title Fedora (2.6.29.4-167.fc11.i686.PAE)
// root (hd0,3)
// kernel /boot/vmlinuz-2.6.29.4-167.fc11.i686.PAE ro root=UUID=b20a8d0c-0b56-4d63-8735-8dadd52117cc rhgb quiet
// initrd /boot/initrd-2.6.29.4-167.fc11.i686.PAE.img

// 视 kernel 版本而定 ...复制 ....难以想象人能写出来 ...
// 同样的方法 ... 进入 sda7 把 ubuntu 的启动引导信息复制出来

// title Ubuntu 9.04, memtest86+
// uuid 1da217f5-773d-4aa1-aa12-6915671780d7
// kernel /boot/memtest86+.bin
// quiet

// title Microsoft Windows XP Professional
// root (hd0,0)
// makeactive
// chainloader +1

//上面还给出了 xp 的引导信息 ... 依照画葫芦 ... 盘符用 fdisk 查看 注意是 小写 L 不是管道符 |

[root@qziDsktp qzi]# fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x624aa2e0

Device Boot Start End Blocks Id System
/dev/sda1 * 1 2432 19535008+ 7 HPFS/NTFS
/dev/sda2 2433 16051 109394617+ f W95 Ext'd (LBA)
/dev/sda3 19066 19457 3148740 1c Hidden W95 FAT32 (LBA)
/dev/sda4 16052 18219 17414460 83 Linux
/dev/sda5 2433 7904 43953808+ b W95 FAT32
/dev/sda6 7905 13376 43953808+ b W95 FAT32
/dev/sda7 * 13377 15808 19535008+ 83 Linux
/dev/sda8 15809 16051 1951866 82 Linux swap / Solaris

// 最后是 :

# boot //重启成功就是了


其实说来不幸 ... 我的c盘就是ntfs 格式 ... ubuntu 用的 ext4 ...fedora 用的是ext3 ... 反正能有多不便就有多不便 ... 经历过的人就知道了 ...

用这个方法可以解决好多安装的问题 ... 在这网络上存个盘 ... 哪天不小心系统挂了 ... 兴许还可以从网络上搜到 ... 而且可以跟大家分享 ...


ps : 其实livecd 的方式有很多样 ... 但是我觉得没必要每次都用盘 ... 可以用grub for dos 在xp 的启动项边加多一个grub 然后设置安装就是 ...

下面给出安装这两个系统的安装引导信息 :

title Install Ubuntu

root (hd0,6)

kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-9.04-desktop-i386.iso ro quiet

splash locale=zh_CN.UTF-8

initrd (hd0,0)/initrd.gz


title Install fedora

#root (hd0,5)

kernel (hd0,0)/vmlinuz

#root=/dev/sda6 ro liveimg rhgb

initrd (hd0,0)/initrd.img


如果有用debian 的话 可能对期间的一些配置会天然的熟悉点 ... 顺便给可能用到的参数

find /vmlinuz

还有就是fedora 指定 iso 的位置 ... 比如 放在 e:\\fedora\\fedora***.iso 和e:\\fedora\images 为 /dev/sda6 /fedora/images/install


哎 ... 极尽麻烦之能事 ... 但还不是总被干掉 ... 无聊 ... 最后所有有机会用到这篇内容的人说一声 : Good Luck !
回复