[分享]一劳永逸,让win的重装不改变linux的引导(单硬盘,重装后mbr不用改动!)

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

#16

帖子 zzyubuntu » 2006-12-25 10:55

看看 了解
不试
海舟
帖子: 21
注册时间: 2006-09-26 10:12

很好,做个记号,方便查找

#17

帖子 海舟 » 2006-12-27 16:52

很好,做个记号,方便查找
头像
yehyun
帖子: 179
注册时间: 2006-10-11 23:29

#18

帖子 yehyun » 2006-12-27 21:37

好帖,顶
pengtu
帖子: 349
注册时间: 2006-09-09 0:35

可以搞定XP+Ubuntu双引导,Vista还有待解决。

#19

帖子 pengtu » 2006-12-31 0:47

感谢enjoyforfun同学,我正在做多引导实验呢,好几个方案都不行,寻思着上论坛来,一上来就看到了! :lol:

已经搞定XP+Ubuntu双引导,但是Vista还有待解决。

Vista里面连boot.ini文件都没有了,等待高人出现 :roll:
wucongkun
帖子: 251
注册时间: 2006-11-10 20:27

#20

帖子 wucongkun » 2006-12-31 20:15

* 安装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中复制过来的)。
daniums
帖子: 118
注册时间: 2006-12-15 21:55
来自: 重庆

#21

帖子 daniums » 2006-12-31 23:18

wucongkun 写了:* 安装Linux。在安装grub 的时候,找到一个高级选项,把grub 装在启动分区的第一个扇区中,不要装在硬盘的MBR中。
那个高级选项怎么弄出来?
gren
帖子: 132
注册时间: 2006-12-01 16:42
来自: 金城

#22

帖子 gren » 2007-01-08 20:23

很好的文章,谢谢,!!!!
正在转向linux的好奇人!
—————————————---------
Ubuntu7.04
华硕P4B533+intelP42.0+kingstonDDR266 256M*2+
艾尔莎MX440+80G IDE+SyncMaster 757DFX
+Creative2.1
xqingliu
帖子: 70
注册时间: 2006-11-11 9:56

#23

帖子 xqingliu » 2007-01-09 10:00

留名,等下研究
头像
XavOeYi
帖子: 46
注册时间: 2007-01-06 23:04
联系:

#24

帖子 XavOeYi » 2007-01-13 15:40

谢谢。试试看!
慢慢来,一步一个脚印
deepin
围脖:http://weibo.com/XavOeYi
hutong236
帖子: 50
注册时间: 2006-11-30 10:10
联系:

#25

帖子 hutong236 » 2007-01-14 21:06

(M$ dos) 在fdisk 里有这个参数吗!!!m$ 揹指什么啊!!!
头像
enjoyforfun
帖子: 53
注册时间: 2006-11-24 13:27

#26

帖子 enjoyforfun » 2007-01-15 11:17

hutong236 写了:(M$ dos) 在fdisk 里有这个参数吗!!!
fdisk是分区命令,是外部命令!
/mbr是参数 :shock:

是M$没公开的参数!就好像 format c: /autotest 一样 ( 这个不要试哦! :wink: )

hutong236 写了:m$ 揹指什么啊!!!
这个我不想答了!你自己找找! :(
人不会死在绝境,却往往栽在十字路口。
purewind
帖子: 452
注册时间: 2006-11-18 15:40

#27

帖子 purewind » 2007-01-15 21:41

我试试看再来回贴
linux什么最重要?硬件要旧,软件要新!
Ubuntu什么最重要?源要全!网要快!
不是你不明白,是linux变化快
人品也很重要
purewind
帖子: 452
注册时间: 2006-11-18 15:40

#28

帖子 purewind » 2007-01-15 23:19

果然有效顶了
linux什么最重要?硬件要旧,软件要新!
Ubuntu什么最重要?源要全!网要快!
不是你不明白,是linux变化快
人品也很重要
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#29

帖子 skyx » 2007-01-16 12:36

楼主的做法可行,但我个人认为可能存在风险: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也方便了许多
no security measure is worth anything if an attacker has physical access to the machine
sundoctor
帖子: 125
注册时间: 2007-01-16 15:41

Re: [分享]一劳永逸,让win的重装不改变linux的引导(单硬盘,重装后mbr不用改动!)

#30

帖子 sundoctor » 2007-01-16 15:58

enjoyforfun 写了:[colcr=darkblue]谢谢斑竹置顶,我一定会继续努力的[/color]

今天将grub赶出了mbr

由于感觉到将grub装到mbr影响了我的电脑的启动速度,主要是主板自检吧!
出现logo好慢。
今天将mbr拷贝了出来,然后fdisk /mbr(M$ dos)按照M$的标准修复了mbr
启动快了
然后用会nt的引导,又没破坏linux的引导!
重装系统也好恢复了!

下面的操作步骤!
首先起确认你的grub正常,并能启动linux
然后启动到linux (Ubuntu)
如果你的是IDE硬盘 (谢谢sun391补充)

代码: 全选

sudo dd if=/dev/hda of=/media/linux.lnx bs=512 count=1
如果你硬盘的被识别为sda

代码: 全选

sudo dd if=/dev/sda of=/media/linux.lnx bs=512 count=1
题外话:如果没有bs=512 count=1的话,dd好像跟ghost一样,不知道是不是哦,高手赐教:D
然后你可以到/media找到linux.lnx这个文件
将它cp到你的win根目录,例如是C:\,而且我建议你对这个文件做多个备份!

然后重启到win

进入后确认你的系统根目有linux.lnx这个文件
然后修改boot.ini
boot.ini请在win 下修改,因为编码不同! 大侠除外:D


它可能隐藏和只读
然后在后面加入
如果有

代码: 全选

time=0
请将0更改!如time=5

代码: 全选

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的引导盘是

代码: 全选

fdisk /mbr
而nt就是用安装光盘或别的方法进入修复控制台

然后

代码: 全选

fixmbr
这样你的mbr 就跟只装win的一样了!


如果你对win重装了只要做

拷尼备份的linux.lnx到win的根目录
并修改boot.ini (修改在前面已经有了)



如果有错漏请指正,谢谢 :D

要求++精,或置顶一段时间.
毕竟用处还是蛮大的,
菜鸟第一技术帖 :D :D




这是dd的用法!


dd

1.作用

dd命令用来复制文件,并根据参数将数据转换和格式化。

2.格式

dd [options]

3.[opitions]主要参数

bs=字节:强迫 ibs=<字节>及obs=<字节>。

cbs=字节:每次转换指定的<字节>。

conv=关键字:根据以逗号分隔的关键字表示的方式来转换文件。

count=块数目:只复制指定<块数目>的输入数据。

ibs=字节:每次读取指定的<字节>。

if=文件:读取<文件>内容,而非标准输入的数据。

obs=字节:每次写入指定的<字节>。

of=文件:将数据写入<文件>,而不在标准输出显示。

seek=块数目:先略过以obs为单位的指定<块数目>的输出数据。

skip=块数目:先略过以ibs为单位的指定<块数目>的输入数据。[/quote]
回复