[问题]准备在Ubuntu系统下全新安装XP双系统……求高人指点Grub设置
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 9
- 注册时间: 2008-01-15 6:18
[问题]准备在Ubuntu系统下全新安装XP双系统……求高人指点Grub设置
嗯……预计划出一块区来装Windows XP。但是据说XP安装时会覆盖MBR导致引导问题。
上网搜索了一下,都是关于XP下安装Ubuntu或者是重装XP的方案,没有见到在Ubuntu下全新安装XP的先例。再加上我是新手……因此Grub设置估计不能靠自己搞定……
主要担心的是,因为是全新安装XP(而不是双系统下重装XP),Grub中没有任何关于XP的信息。因此需要完全重写一段引导至XP的代码。不知道哪位高人能指点一二?
希望不要遇到非得先装XP再装Ubuntu这样的郁闷事情……要真得这样我还得全部备份好资料和软件包,卸掉Ubuntu,装XP,重装Ubuntu,恢复数据,重新设置好两套系统……想想都觉得太低效了……
PS,目前的分区情况如下:
主分区
hda1 ext3 200MB /boot
hda2 ext3 7GB /(根目录)
hda3 ntfs 7GB 闲置(预计为系统分区C:)
扩展分区:
hda7 ntfs 5GB 闲置(预计为程序分区D:)
hda8 ntfs 5GB 闲置(预计为数据分区E:)
hda9 ntfs 1GB 闲置(预计为虚拟内存/临时数据分区F:)
hda6 ext3 5GB /home
hda5 swap 1GB
还有就是我的电脑主板比较老,不能引导到一定扇区(似乎是512M)以后……经典的ERROR 5……所以还担心装了XP以后会出现无法引导的尴尬……
不知道各位有何看法?关于分区,关于装系统,关于GRUB,或者其他可能有用的内容都欢迎。提前谢过了。
上网搜索了一下,都是关于XP下安装Ubuntu或者是重装XP的方案,没有见到在Ubuntu下全新安装XP的先例。再加上我是新手……因此Grub设置估计不能靠自己搞定……
主要担心的是,因为是全新安装XP(而不是双系统下重装XP),Grub中没有任何关于XP的信息。因此需要完全重写一段引导至XP的代码。不知道哪位高人能指点一二?
希望不要遇到非得先装XP再装Ubuntu这样的郁闷事情……要真得这样我还得全部备份好资料和软件包,卸掉Ubuntu,装XP,重装Ubuntu,恢复数据,重新设置好两套系统……想想都觉得太低效了……
PS,目前的分区情况如下:
主分区
hda1 ext3 200MB /boot
hda2 ext3 7GB /(根目录)
hda3 ntfs 7GB 闲置(预计为系统分区C:)
扩展分区:
hda7 ntfs 5GB 闲置(预计为程序分区D:)
hda8 ntfs 5GB 闲置(预计为数据分区E:)
hda9 ntfs 1GB 闲置(预计为虚拟内存/临时数据分区F:)
hda6 ext3 5GB /home
hda5 swap 1GB
还有就是我的电脑主板比较老,不能引导到一定扇区(似乎是512M)以后……经典的ERROR 5……所以还担心装了XP以后会出现无法引导的尴尬……
不知道各位有何看法?关于分区,关于装系统,关于GRUB,或者其他可能有用的内容都欢迎。提前谢过了。
- ffsxsy
- 帖子: 779
- 注册时间: 2007-11-04 16:32
我也不确定,有一篇教程,希望对你有用,http://www.linuxsir.org/main/?q=node/129
先装ubuntu再装xp,一定会重写mbr,但是ubuntu的数据不会丢失,就是说直到你找到方法,数据中会找回来!
先装ubuntu再装xp,一定会重写mbr,但是ubuntu的数据不会丢失,就是说直到你找到方法,数据中会找回来!
amd x2 250
amd 785g主板
2g ddr3 1333内存
amd 785g主板
2g ddr3 1333内存
-
- 帖子: 19
- 注册时间: 2008-01-16 10:37
感觉LZ和我遇到的情况有点像, 不过我是先安装xp的, 只是在安装ubuntu的时候没有安装引导...
先说说我具体操作的情况吧:
安装xp, 然后从网上下载引导文件(参考以下链接):
[原创]长期提供从硬盘启动Desktop ISO的引导文件
然后是按照上面教程中的步骤引导iso文件并安装ubuntu, 但是安装时没有选择安装引导程序, 所以安装完成后还要xp的引导...这时想到修改menu.lst(这个文件在xp的c盘/boot/grub中的)来引导安装好的ubuntu...
哦, 忘了说我的分区表:
c 2g fat16 (安装xp时特地分的, 不过好像设置太小了, xp把个格式化成fat16了...)
d 10g ntfs (xp系统)
(linux1) ext3 256M /boot
(linux2) jfs xxg(忘了) /
(linux3) swap - - (后面3个linux的分区都是在安装ubuntu的过程中创建的)
然后就是修改刚才说的menu.lst文件, 首先把引导iso文件的几行备份了, 然后修改成:
root (hd0,5)
kernel /vmlinuz root=/dev/sda7 ro quiet splash vga=769
initrd /initrd
这几行是在我第一次成功进入后, 在/boot中增加了2个link来简化等到到:
ln -s initrd.img-2.6.22-14-generic initrd
ln -s vmlinuz-2.6.22-14-generic vmlinuz
对上面3行代码的简单解释:
这里首先引入一个/etc/fstab文件, 可以使用cat查看一下:
里面显示的内容(省略一部分):
/dev/sda7 jfs /
/dev/sda6 ext3 /boot
/dev/sda1 vfat c盘
/dev/sda5 ntfs d盘
/dev/sda8 swap swap分区
我很笨, 是从类型判断是哪个分区的...
root (hd0,5) 好像就是把/移动到硬盘0(就是第1个硬盘)的第6个分区(对应/dev/sda6), 这是为了找到kernel的位置(在/boot中), 所以要修改后面的(hd0,5)找到LZ的boot分区
kernel /vmlinuz root=/dev/sda7 ro quiet splash vga=769
上面这个是指定kernel的位置和一些启动参数, 后面ro quiet splash是照搬的, 不明所以然, 还望大家指点一下, 先谢.../vmlinuz是指定kernel是那个文件, 因为我手动加了link, 未加link前, 我是用这句的, 效果一样:
kernel /vmlinuz-2.6.22-14-generic root=/dev/sda7 ro quiet splash vga=769
root=/dev/sda7 就是指定root的路径(所谓的 / 在哪个盘吧), 根据上面的fstab可以看到是/dev/sda7, 这里也要改成LZ的分区
至于vga=769是因为机子显卡差, 只能这样强制分辨率为640*480*256色才能进系统, 可以不加这个参数...
initrd /initrd
这个是指定初始化的引导文件吧, 未加link前是:
initrd initrd.img-2.6.22-14-generic
因此简单讲就是:
root </boot的位置>
kernel <kernel文件名> root=</的位置> ro quiet splash
initrd <initrd引导文件名>
以上2个文件名可以在ubuntu下通过ls /boot查看, 不过一般ubuntu好像都是按照内核版本来命名的, 至于/boot和/的位置根据分区表改就好了...
希望对LZ有帮助, 如有错漏, 欢迎指正, 谢谢.
补充一个: 对于initrd.img-2.6.22-14-generic和vmlinuz-2.6.22-14-generic文件的命名...坦白讲, 我是在另一台机子上因为安装了ubuntu的grub引导, 所以对着改过来的...不过其实根据ubuntu的命名规则可以猜一下嘛, 反正不行就继续改...我也试了10多次才进去的...我是笨菜鸟嘛...
首先我安装的是7.10, 从网上下载的是bhd_i386_2.6.22-14g-ntfs.tar.gz, 其实可以这样猜ubuntu安装完成后的kernel文件名和initrd文件名:
首先前缀不会改:
vmlinuz和initrd.img
然后是内核version
根据bhd_i386_2.6.22-14g-ntfs.tar.gz得到2.6.22-14
所谓14g的g就是generic的意思...因为我笨, 后来才想到的...
上面的用 - 拼凑起来就得到
vmlinuz-2.6.22-14-generic
initrd.img-2.6.22-14-generic
因此我使用的启动行最开始(未加link简化时)是这样的:
root (hd0,5)
kernel /vmlinuz-2.6.22-14-generic root=/dev/sda7 ro quiet splash vga=769
initrd /initrd.img-2.6.22-14-generic
至于/dev/sda7我是试过同事提供的/dev/hda6不行改的, 碰巧能启动...
先说说我具体操作的情况吧:
安装xp, 然后从网上下载引导文件(参考以下链接):
[原创]长期提供从硬盘启动Desktop ISO的引导文件
然后是按照上面教程中的步骤引导iso文件并安装ubuntu, 但是安装时没有选择安装引导程序, 所以安装完成后还要xp的引导...这时想到修改menu.lst(这个文件在xp的c盘/boot/grub中的)来引导安装好的ubuntu...
哦, 忘了说我的分区表:
c 2g fat16 (安装xp时特地分的, 不过好像设置太小了, xp把个格式化成fat16了...)
d 10g ntfs (xp系统)
(linux1) ext3 256M /boot
(linux2) jfs xxg(忘了) /
(linux3) swap - - (后面3个linux的分区都是在安装ubuntu的过程中创建的)
然后就是修改刚才说的menu.lst文件, 首先把引导iso文件的几行备份了, 然后修改成:
root (hd0,5)
kernel /vmlinuz root=/dev/sda7 ro quiet splash vga=769
initrd /initrd
这几行是在我第一次成功进入后, 在/boot中增加了2个link来简化等到到:
ln -s initrd.img-2.6.22-14-generic initrd
ln -s vmlinuz-2.6.22-14-generic vmlinuz
对上面3行代码的简单解释:
这里首先引入一个/etc/fstab文件, 可以使用cat查看一下:
里面显示的内容(省略一部分):
/dev/sda7 jfs /
/dev/sda6 ext3 /boot
/dev/sda1 vfat c盘
/dev/sda5 ntfs d盘
/dev/sda8 swap swap分区
我很笨, 是从类型判断是哪个分区的...
root (hd0,5) 好像就是把/移动到硬盘0(就是第1个硬盘)的第6个分区(对应/dev/sda6), 这是为了找到kernel的位置(在/boot中), 所以要修改后面的(hd0,5)找到LZ的boot分区
kernel /vmlinuz root=/dev/sda7 ro quiet splash vga=769
上面这个是指定kernel的位置和一些启动参数, 后面ro quiet splash是照搬的, 不明所以然, 还望大家指点一下, 先谢.../vmlinuz是指定kernel是那个文件, 因为我手动加了link, 未加link前, 我是用这句的, 效果一样:
kernel /vmlinuz-2.6.22-14-generic root=/dev/sda7 ro quiet splash vga=769
root=/dev/sda7 就是指定root的路径(所谓的 / 在哪个盘吧), 根据上面的fstab可以看到是/dev/sda7, 这里也要改成LZ的分区
至于vga=769是因为机子显卡差, 只能这样强制分辨率为640*480*256色才能进系统, 可以不加这个参数...
initrd /initrd
这个是指定初始化的引导文件吧, 未加link前是:
initrd initrd.img-2.6.22-14-generic
因此简单讲就是:
root </boot的位置>
kernel <kernel文件名> root=</的位置> ro quiet splash
initrd <initrd引导文件名>
以上2个文件名可以在ubuntu下通过ls /boot查看, 不过一般ubuntu好像都是按照内核版本来命名的, 至于/boot和/的位置根据分区表改就好了...
希望对LZ有帮助, 如有错漏, 欢迎指正, 谢谢.
补充一个: 对于initrd.img-2.6.22-14-generic和vmlinuz-2.6.22-14-generic文件的命名...坦白讲, 我是在另一台机子上因为安装了ubuntu的grub引导, 所以对着改过来的...不过其实根据ubuntu的命名规则可以猜一下嘛, 反正不行就继续改...我也试了10多次才进去的...我是笨菜鸟嘛...
首先我安装的是7.10, 从网上下载的是bhd_i386_2.6.22-14g-ntfs.tar.gz, 其实可以这样猜ubuntu安装完成后的kernel文件名和initrd文件名:
首先前缀不会改:
vmlinuz和initrd.img
然后是内核version
根据bhd_i386_2.6.22-14g-ntfs.tar.gz得到2.6.22-14
所谓14g的g就是generic的意思...因为我笨, 后来才想到的...
上面的用 - 拼凑起来就得到
vmlinuz-2.6.22-14-generic
initrd.img-2.6.22-14-generic
因此我使用的启动行最开始(未加link简化时)是这样的:
root (hd0,5)
kernel /vmlinuz-2.6.22-14-generic root=/dev/sda7 ro quiet splash vga=769
initrd /initrd.img-2.6.22-14-generic
至于/dev/sda7我是试过同事提供的/dev/hda6不行改的, 碰巧能启动...
-
- 帖子: 155
- 注册时间: 2008-01-04 20:57
- qianwx
- 帖子: 730
- 注册时间: 2006-07-08 14:41
如果先装的Ubuntu,想要后装XP,那么我想你需要一个可启动的Fat或者NTFS主分区才可后装XP。。。因为XP安装时候无论主体安装在哪个分区,但都会在可启动主分区中安装一些引导文件,而这些文件是必须放在FAT或NTFS分区中的。。因此,LZ你必须先把某个FAT或NTFS分区设为可启动主分区才可以
忘了说,这个情况仅适用于想用XP安装光盘进行全新安装的第二系统下的状况。而如果使用Ghost来直接把XP恢复入某个fat或ntfs分区内的话,就无需这么设置了,只需要在glub中设置引导磁盘即可。。。
原因是glub可以接管两个系统的引导而无需XP的系统引导程序,所以Ghost恢复的XP系统就不需要原来必须在Win系统主分区中拷贝的那些引导文件了。
忘了说,这个情况仅适用于想用XP安装光盘进行全新安装的第二系统下的状况。而如果使用Ghost来直接把XP恢复入某个fat或ntfs分区内的话,就无需这么设置了,只需要在glub中设置引导磁盘即可。。。
原因是glub可以接管两个系统的引导而无需XP的系统引导程序,所以Ghost恢复的XP系统就不需要原来必须在Win系统主分区中拷贝的那些引导文件了。
-
- 帖子: 9
- 注册时间: 2008-01-15 6:18
- sevk
- 帖子: 2060
- 注册时间: 2007-05-08 16:26
- 系统: arch
- 来自: 火星内核某分子内某原子核内
- 联系:
有99.9%的机率,安装了xp或vista后,造成Linux引导不了,可以手工安装grub(WINGRUB或maxdos或矮人DOS) 。但我个人建议事先备份LINUX的引导程序,这样就不怕了: http://hi.baidu.com/sevk/blog/item/769b ... 3fa44.html
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387