[分享]一劳永逸,让win的重装不改变linux的引导(单硬盘,重装后mbr不用改动!)
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 21
- 注册时间: 2006-09-26 10:12
很好,做个记号,方便查找
很好,做个记号,方便查找
-
- 帖子: 349
- 注册时间: 2006-09-09 0:35
可以搞定XP+Ubuntu双引导,Vista还有待解决。
感谢enjoyforfun同学,我正在做多引导实验呢,好几个方案都不行,寻思着上论坛来,一上来就看到了!
已经搞定XP+Ubuntu双引导,但是Vista还有待解决。
Vista里面连boot.ini文件都没有了,等待高人出现

已经搞定XP+Ubuntu双引导,但是Vista还有待解决。
Vista里面连boot.ini文件都没有了,等待高人出现

-
- 帖子: 251
- 注册时间: 2006-11-10 20:27
* 安装Linux。在安装grub 的时候,找到一个高级选项,把grub 装在启动分区的第一个扇区中,不要装在硬盘的MBR中。
* 登录linux之后,在命令行输入"dd if=/dev/sda9 of=/mnt/wing/bootsect.lnx bs=512 count=1",其中我将Fat32格式的back分区挂载到/mnt/wing下。重启回到XP下,将bootsect.lnx文件拷到C盘根目录下。编辑boot.ini文件,在最后加入一行"C:\bootsect.lnx="Fedora Core 4""。保存. 至此,XP引导Linux的启动菜单也完成了。重启之后可以看到,进入并测试之。
* 从光盘安装Vista。不论windows如何强盗吧,它总会能自动引导xp。所以,不用担心安装Vista之后对之前的引导记录产生影响。从虚拟光驱安装,在向导中选择安装在我们事先准备好的主分区中。安装第一次重启时,就能看到Vista自带的Boot manager了,它已经加载了对xp, Linux的引导(其实是从xp中复制过来的)。
* 登录linux之后,在命令行输入"dd if=/dev/sda9 of=/mnt/wing/bootsect.lnx bs=512 count=1",其中我将Fat32格式的back分区挂载到/mnt/wing下。重启回到XP下,将bootsect.lnx文件拷到C盘根目录下。编辑boot.ini文件,在最后加入一行"C:\bootsect.lnx="Fedora Core 4""。保存. 至此,XP引导Linux的启动菜单也完成了。重启之后可以看到,进入并测试之。
* 从光盘安装Vista。不论windows如何强盗吧,它总会能自动引导xp。所以,不用担心安装Vista之后对之前的引导记录产生影响。从虚拟光驱安装,在向导中选择安装在我们事先准备好的主分区中。安装第一次重启时,就能看到Vista自带的Boot manager了,它已经加载了对xp, Linux的引导(其实是从xp中复制过来的)。
-
- 帖子: 118
- 注册时间: 2006-12-15 21:55
- 来自: 重庆
-
- 帖子: 132
- 注册时间: 2006-12-01 16:42
- 来自: 金城
- XavOeYi
- 帖子: 46
- 注册时间: 2007-01-06 23:04
- 联系:
-
- 帖子: 50
- 注册时间: 2006-11-30 10:10
- 联系:
- enjoyforfun
- 帖子: 53
- 注册时间: 2006-11-24 13:27
-
- 帖子: 452
- 注册时间: 2006-11-18 15:40
-
- 帖子: 452
- 注册时间: 2006-11-18 15:40
- skyx
- 论坛版主
- 帖子: 9202
- 注册时间: 2006-12-23 13:46
- 来自: Azores Islands
- 联系:
楼主的做法可行,但我个人认为可能存在风险:grub安装在mbr,dd备份mbr后,用ntloader做引导,这样如果以后你修改了分区,但又没有重新dd出新的mbr,问题就来了,这是我的个人意见,欢迎在这里讨论一下:
如果最初grub安装在mbr,最好的方法是用live cd重新安装grub到linux所在的分区,不要安装在mbr。以下步骤可供参考,我巳成功:
只在这里讨论原来的系统由grub引导如何改成由ntlaoder引导
做之前你要确保有:dos启动工具盘,如u盘,可启动dos的光盘等,fdisk.exe live cd 或 live Hd(用live HD时,要搞清哪个是hd0,哪个是hd1),推荐你的电脑只接一块硬盘用live CD,不然哪块是hd0,哪块是hd1还真难在这里说清
1.进入xp,用磁盘管理把xp所在的c盘分区设为活动的(我不清楚ubuntu安在逻辑分区上是什么情况)。这时重启后你的电脑进不了任何系统
2.用u盘等工具启动到纯净的DOS,然后执行fdisk/mbr,这时重启你的电脑可以也只能进xp.
3.用live CD 或live HD启动,重装 grub到ubuntu所在的分区,比如ubuntu ext3所在分区为hdc2,则在终端中
grub
root (hd0,1) //后面的数字为你所在的ext3分区的数字减1 ,我的为hdc2所以 2-1=1
setup (hd0,1) //后面的数字为你所在的ext3分区的数字减1 ,我的为hdc2所以 2-1=1
quit
然后用一个U盘或mp3接到电脑上,在/media/下确认其名称:我的为KINSTON
接着:
dd if=/dev/hdc2 of=/media/KINSTON/mbr bs=512 count=1
再到U盘下把文件考到你的c盘下,我的电脑是hdc1或c,在linux下做或在dos /windows下做都可以。
在c盘根目录下编辑boot.ini 这个要在windows 或dos做,如果原来就存在一个有内容的boot.ini,估计在linux下也不会有什么问题,如果不清楚,推荐文件编辑工作在windows下的ultredit完成。
在最后加入一行:c:\mbr=ubuntu //=后的名字你可随便改
再重启电脑,正常 情况下xp和ubuntu都可以进了,这样再也不怕重装xp了,理论上再在你的电脑上安装vista也不会有任何影响了( 对vista不感幸趣,这一点我没有试过),通过这样的处理,用ghost也方便了许多
如果最初grub安装在mbr,最好的方法是用live cd重新安装grub到linux所在的分区,不要安装在mbr。以下步骤可供参考,我巳成功:
只在这里讨论原来的系统由grub引导如何改成由ntlaoder引导
做之前你要确保有:dos启动工具盘,如u盘,可启动dos的光盘等,fdisk.exe live cd 或 live Hd(用live HD时,要搞清哪个是hd0,哪个是hd1),推荐你的电脑只接一块硬盘用live CD,不然哪块是hd0,哪块是hd1还真难在这里说清
1.进入xp,用磁盘管理把xp所在的c盘分区设为活动的(我不清楚ubuntu安在逻辑分区上是什么情况)。这时重启后你的电脑进不了任何系统
2.用u盘等工具启动到纯净的DOS,然后执行fdisk/mbr,这时重启你的电脑可以也只能进xp.
3.用live CD 或live HD启动,重装 grub到ubuntu所在的分区,比如ubuntu ext3所在分区为hdc2,则在终端中
grub
root (hd0,1) //后面的数字为你所在的ext3分区的数字减1 ,我的为hdc2所以 2-1=1
setup (hd0,1) //后面的数字为你所在的ext3分区的数字减1 ,我的为hdc2所以 2-1=1
quit
然后用一个U盘或mp3接到电脑上,在/media/下确认其名称:我的为KINSTON
接着:
dd if=/dev/hdc2 of=/media/KINSTON/mbr bs=512 count=1
再到U盘下把文件考到你的c盘下,我的电脑是hdc1或c,在linux下做或在dos /windows下做都可以。
在c盘根目录下编辑boot.ini 这个要在windows 或dos做,如果原来就存在一个有内容的boot.ini,估计在linux下也不会有什么问题,如果不清楚,推荐文件编辑工作在windows下的ultredit完成。
在最后加入一行:c:\mbr=ubuntu //=后的名字你可随便改
再重启电脑,正常 情况下xp和ubuntu都可以进了,这样再也不怕重装xp了,理论上再在你的电脑上安装vista也不会有任何影响了( 对vista不感幸趣,这一点我没有试过),通过这样的处理,用ghost也方便了许多
no security measure is worth anything if an attacker has physical access to the machine
-
- 帖子: 125
- 注册时间: 2007-01-16 15:41
Re: [分享]一劳永逸,让win的重装不改变linux的引导(单硬盘,重装后mbr不用改动!)
enjoyforfun 写了:[colcr=darkblue]谢谢斑竹置顶,我一定会继续努力的[/color]
今天将grub赶出了mbr
由于感觉到将grub装到mbr影响了我的电脑的启动速度,主要是主板自检吧!
出现logo好慢。
今天将mbr拷贝了出来,然后fdisk /mbr(M$ dos)按照M$的标准修复了mbr
启动快了
然后用会nt的引导,又没破坏linux的引导!
重装系统也好恢复了!
下面的操作步骤!
首先起确认你的grub正常,并能启动linux
然后启动到linux (Ubuntu)
如果你的是IDE硬盘 (谢谢sun391补充)如果你硬盘的被识别为sda代码: 全选
sudo dd if=/dev/hda of=/media/linux.lnx bs=512 count=1
题外话:如果没有bs=512 count=1的话,dd好像跟ghost一样,不知道是不是哦,高手赐教:D代码: 全选
sudo dd if=/dev/sda of=/media/linux.lnx bs=512 count=1
然后你可以到/media找到linux.lnx这个文件
将它cp到你的win根目录,例如是C:\,而且我建议你对这个文件做多个备份!
然后重启到win
进入后确认你的系统根目有linux.lnx这个文件
然后修改boot.ini
boot.ini请在win 下修改,因为编码不同! 大侠除外
它可能隐藏和只读
然后在后面加入
如果有请将0更改!如time=5代码: 全选
time=0
保存代码: 全选
C:\linux.lnx="linux"
然后你就可以reboot看效果了
nt的引导菜单会出现linux这一项,选择后好像又会到grub的菜单了
我到这里的时候,选择nt的引导菜单的Linux选项进不去Linux,总提示Windows/system32/hal.dll损坏或丢失,要重新安装或拷贝Windows/system32/hal.dll。各位高手,这是什么问题呀,我查看了一下,Windows/system32有hal.dll文件的。
事实上它只是读了linux.lnx
上面这个确认能进入linux后你就可以选者性的对mbr做M$的恢复了
win9x的引导盘是而nt就是用安装光盘或别的方法进入修复控制台代码: 全选
fdisk /mbr
然后这样你的mbr 就跟只装win的一样了!代码: 全选
fixmbr
如果你对win重装了只要做
拷尼备份的linux.lnx到win的根目录
并修改boot.ini (修改在前面已经有了)
如果有错漏请指正,谢谢![]()
要求++精,或置顶一段时间.
毕竟用处还是蛮大的,
菜鸟第一技术帖![]()
这是dd的用法!
dd
1.作用
dd命令用来复制文件,并根据参数将数据转换和格式化。
2.格式
dd [options]
3.[opitions]主要参数
bs=字节:强迫 ibs=<字节>及obs=<字节>。
cbs=字节:每次转换指定的<字节>。
conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。
count=块数目:只复制指定<块数目>的输入数据。
ibs=字节:每次读取指定的<字节>。
if=文件:读取<文件>内容,而非标准输入的数据。
obs=字节:每次写入指定的<字节>。
of=文件:将数据写入<文件>,而不在标准输出显示。
seek=块数目:先略过以obs为单位的指定<块数目>的输出数据。
skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。[/quote]