windows与linux系统引导分区系统修复
win7 linux启动引导项恢复
我电脑本身是win7 系统,之后有装了red hat 。
由于没有经验,在安装linux时选择把引导文件安装在sda 上,这样windows7 原有的引导文件就被覆盖了,变成linux的引导文件。
此时,两个系统仍然可以启动,一切正常,但是默认启动的是linux。
用过红帽的应该知道,先出现那个进入红帽的倒计时,如果你不按enter ,就直接进红帽了。
而你点击回车之后,才出现系统选择界面。
那个other 就是你的win7 。
如果你把win7 作为主系统的话,每次都得选择,如果一不小心错过了那3秒钟,对不起了只有等半天重启,接着选。
这就让人很蛋疼了。
于是我进入win7 之后就自以为是修复引导文件,以为这样就好了。
事实上造成更大的错误。
用easyBCD 修复引导文件之后,不仅没有linux启动项了,win7 开机也成盗版了~~~~~所以是正版的要慎重了,提前备份好激活文件。
我也就麻烦一下又重新激活······正常进入win7 之后就在想怎么恢复linux 想起不久前曾用rescue模式恢复启动项就准备试试进入rescue模式后挂载系统看了grub.conf 配置文件,没有问题,我就郁闷了。
之后百度才知道原因。
“由于操作者不知道grub2分为两部分,一部分(一般情况下)写在了mbr上,另一部分写在了某个分区的/boot/grub目录(如果/boot单独分区,则直接写在对应分区的/grub目录)里面。
由于上述操作,致使grub2的mbr里面的那一部分找不到/grub目录里面的那一部分了(或者那一部分已经删除了)。
”/zyf837368104/article/details/7627065上面的链接的文章指明原因所在,但是所提供的方法却不对。
之后我又在某论坛(/thread-1924253-1-1.html)看到,上面文章适用于grub1不适用grub2 。
linux引导修复(在rescue模式下修复MBR)
linux引导修复(在rescue模式下修复MBR)
在rescue模式下修复MBR
制造故障:
使用如下命令破坏系统的MBR引导代码,使其无法启动:[root@localhost root]#dd if=/dev/zero of=/dev/hda bs=446 count=1
[root@localhost root]#reboot
重启完成加电自检之后,屏幕出现黑屏。
解决方法:
1:从光盘启动进入救援模式:
输入linux rescue命令:
根据提示逐步操作:
选择“continue”回车:
选择“OK”回车,进入如下界面:
在sh-2.05b#处输入命令mount
在sh-2.05b#处输入命令fdisk –l /dev/had
在sh-2.05b#处输入命令:
cat /mnt/sysimage/boot/grub/grub.conf 在sh-2.05b#处输入命令:
chroot /mnt/sysimage
在sh-2.05b#处输入命令:
grub-install /dev/hda
在sh-2.05b#处输入命令:
exit 退出chroot shell
验证成果:
重启linux操作系统,能进入系统操作界面则表示实验成功!。
计算机安装双系统后系统引导如何修复
计算机安装双系统后系统引导如何修复知友提出问题:电脑双系统怎么用,我装的是win8和win7。
win8安装在C盘上,可以正常使用,我把win7安装在一个新分区的盘符上G盘,为什么开机没有win7系统选择项启动,只有一个win8和GHOST。
请问是怎么回事,怎么才能用双系统?这个问题是安装双系统后,系统引导没有修复好。
下面叙述计算机安装双系统后如何修复系统引导,也就是开机选择进入哪个系统的菜单问题。
方法/步骤1、无论系统C盘安装的是什么系统,我们再安装另外一个系统到非系统盘,这就是在计算机上安装双系统。
在计算机上安装双系统就要修复系统引导,否则,计算机开机就不能进行系统的选择,即没有如下图所示的系统选择菜单(下图是系统选择菜单的一种表现形式)。
2、计算机安装双系统后系统引导修复的方法第一步:下载NTBootAutofix系统引导菜单修复软件。
点击:下载地址,在下载窗口点击:下载;第二步:解压下载的NTBootAutofix软件的压缩文件。
左键双击:NTBootAutofix软件的压缩文件图标;在打开的解压缩文件窗口,我们左键点击:解压到;确定解压后NTBootAutofix文件的保存路径,再点击:确定;第三步:系统引导修复。
我们在解压后保存的文件夹中找到NTBootAutofix软件的修复图标,用鼠标左键双击:NTBootAutofix的修复图标;在NTBootAutofix系统引导修复窗口,我们左键点击:【1.自动修复】;系统引导修复成功,因为我的计算机已经修复了系统引导,所以下图显示的内容有所不同,但只要按照这个方法进行就可以修复系统引导。
点击:【2.退出】;通过这样修复以后,我们开机就可以显示进入系统的菜单,选择我们需要的系统进入。
Linux引导修复
Windows的boot.ini引导Linux(安装有Windows的系统(没有安装其他引导程序)安装Linux时,Grub没有安装在MBR区,而是安装在Linux分区第一扇区时,导致计算机启动时,无法出现进入Linux的选项),该方法见:Linux安装.doc文件第一部分:所需软件:矮人DOS4.2,GRUB FOR DOS,Linux AS4 光盘镜像.NTLDR loader配合grub 引导Red Hat linux Enterprise AS4.本文目的是利用windows系列OS Loader来引导linux,主要适用于硬盘安装Red Hat linux Enterprise AS4环境:winxp sp2+Red Hat linux Enterprise AS4硬盘分区: /hda1-----------8G. NTFS.........C盘windows: /hda5-----------5G. NTFS.........D盘/hda6...........8G: NTFS.........E盘/hda7...........43G NTFS.........F盘/hda8...........2.6G FAT32........G盘linux: /hda9..........101MB EXT2 /boot .....linux boot分区/hda10.........512MB swap SWAP:...... linux交换分区/hda11.........9.6G EXT3 / ....... linux根分区执行过程:(1)/hda1即C盘安装XP SP2.(2) linux安装在(/hda11)上,把linux GRUB安装在/boot分区(/hda9)上即可。
(3)复制GRUB for dos里所有文件到C盘根目录下,并提取矮人DOS4.2(提取方法自己去想吧)里的memdisk.gz文件复制到c:\boot\grub\下,提取linux第一张光盘镜像里的ISO文件夹至C盘根目录,并且提取光盘images里的diskboot.img文件到c:\boot\grub\下。
windows与linux系统引导分区系统修复
【转】 [命令]windows与linux系统引导分区系统修复2011-09-08 16:26转载自分享最终编辑孤独散步者的梦环境说明:windows与linux系统并存情况下:一、修复Linux的GRUO引导菜单:在windows重装,卸载之后, linux引导分区修复,因为windows清除MBR中的多重开机管理程序,重新安装GRUB即可:用Linux启动盘,或安装盘或livecd,引导进入救援模式:插入linux系统盘是第一张,然后在出现界面时按F4或F5键,进入linux rescue模式,或直接输入“linux rescue”,再提示设定语系(选择English),键盘类型(选择US),选择是否启用网卡(选择NO),选择如何挂载Linux分区(一般选择Rdad-Only),然后进入sh#命令行!(1)、方法一:然后进入sh#命令行!输入:“chroot /mnt/sysimage”(切换目录);输入:“grub-install /dev/hda”(重装GRUB,/dev/hda指linux系统安装在第一硬盘)(2)、方法二:进入#sh>后:sh#grub (输入grub回车)grub>root (hd0,1) (注:这里hd0指第一硬盘,1指第一分区,不清楚按TAB键。
)grub>setup (hd0) (注:指安装GRUO在第一硬盘上)二、修复Windows引导菜单:在linux系统删除之后,修复系统主引导扇区,出windows引导菜单方法:(1)、用启动盘进入DOS,执行:A:\> fdisk /mbr(2)、用windows2000以上的安装光盘,引导进入“系统故障修复台”:C:\windows\>fixmbr(3)、使用SPFDisk程序修复mbr:到下载SPFDisk软件,做成启动盘!引导系统!A:\>spf2k3rc (执行exe程序)A:\>spfdisk /mbrGRUB使用指南kes,2007-06-15 09:29:13GRUB使用指南GRUB是一个多重开机管理工具,它可用来激活Linux、BSD、OS/2、BeOS与Windows95/98/NT等众多操作系统,GRUB是一个独立于操作系统之外的开机程序,并不像LILO是依靠Linux才能进行设定与维护,也提供了类似Bash的命令列模式,让使用者更方便地设定GRUB。
关于Linux与Windows双系统MBR引导修复
Windows与Linux双系统时的MBR修复 测试环境:硬件环境:ACER E1-471G 1000G 8G i5-3210 NVIDIA630M软件环境:Windows 8.1 Ubuntu 14.04.02LTS辅助软件环境:Windows PE Ubuntu Live USB故障描述:原本安装Windows8(Windows7)和Ubuntu 14.04双系统,后来升级Windows 8.1(或重装、升级Windows系统)后MBR被修改,不再是Linux的GRUB启动引导程序,而成了Windows的开机引导程序,并且开机没有了Linux 选项。
参照网上的教程,使用EasyBCD对Windows的引导文件进行修改,添加Linux启动引导项。
但是每次引导Ubuntu的时候,选择的Linux引导都会重启一次然后调用Ubuntu的bootloader。
个人表示很不习惯,而且感觉这样的电脑的硬件损伤会比以前使用GRUB时略大。
后来无意中在WinPE中看见可以修改引导程序,于是思考着是不是可以通过不重装Linux的情况下让引导程序重新变成GRUB。
第一次尝试:通过Windows PE将硬盘的引导程序直接变成GRUB 2 。
大致操作过程如下:在Windows PE的开始菜单中找到一个叫做“BOOTICE引导管理”的软件。
(Ps:我用的老毛桃,这个软件在 开始-程序-磁盘管理 中)然后选择 物理磁盘处理 菜单中选择自己的硬盘,比如我的是HD0点击 主引导记录 选项,选择 GRUB 2.00 这项,接着点击 安装/配置最后关闭这个窗口,并退出BOOTICE。
重启之后发现并没有真的恢复到最初的GRUB引导。
而是出现了grubrescue,同时屏幕上方出现一个报错为:error symbol 'grub_term_highlight_color' not foundgrub rescue >虽然没有成功的恢复到以前Ubuntu的GRUB界面,但是出现grub rescue 总比黑着或者其他报错要好,至少现在已经是GRUB在引导了,这时在下开始百度,并进行第二次尝试第二次尝试:这次通过百度找到了这个页面/blog/canghai1129/38655899通过帖子中给出的grub rescue的相关命令进行过尝试:grub rescue > ls……##此处会列出当前磁盘中存在的所有分区,表示为“(hdX,msdosY)”,其中X为磁盘号(0为第一个磁盘);Y为分区号grub rescue > ls (hd0,msdos12)/boot/grub##此处如果有独立的boot分区,msdos后就跟随boot目录所在分区:(hdX,msdosY)/grub;如果没有就跟随/目录所在分区,并注明grub目录路径:(hdX,msdosY)/boot/grubgrub rescue > root=(hd0,msdos12)grub rescue > prefix(hd0,msdos12)/boot/grubgrub rescue > insmod normal在执行到insmod normal时并没有出现理论上的重启,反倒报错了。
关于修复引导区
grub2几种修复方法1. 双系统重装windows造成grub2被改写的修复方法一grub4dos0.4.4在Windows启动项上加上grub4dos启动(不多说了,看置顶贴),重启选择进入grub,在命令行下输入(/boot单独分区的去掉/boot)代码:grub>find --set-root /boot/grub/core.imggrub>kernel /boot/grub/core.imggrub>boot进入grub2菜单,进入系统后再执行代码:sudo grub-install /dev/sd?方法二进入Livecd 后修复引用:sudo -imount 你的根分区/mntmount 你的/boot 分区/mnt/boot #如果有的话#挂载你其他的分区,如果有的话# 重建grub到sda的mbrgrub-install --root-directory=/mnt /dev/sda2. 由于root分区uuid改变造成的不能正常启动,只能进入grub rescue模式的修复代码:grub rescue>setgrub rescue>prefix=(hd?,?)/grubgrub rescue>root=hd?,?grub rescue>set root=hd?,?grub rescue>set prefix=(hd?,?)/boot/grubgrub rescue>setgrub rescue>root=hd?,?grub rescue>prefix=(hd?,?)/boot/grubgrub rescue>insmod /boot/grub/normal.modgrub rescue>normal这时就可以调出/boot/grub/grub.cfg,修改相应uuid,改到命令行下grub>insmod /boot/grub/linux.modgrub>set root=hd?,?grub>linux /boot/vmlinuz-*** root=/dev/sd??grub>initrd /boot/initrg.img-****进入系统hd?,?是grub文件所在分区sda?是/分区。
重装Windows10后修复Linux的EFI引导
重装Windows10后修复Linux的EFI引导.....重装Win10后,原先 Linux 的 efi 引导被 win10 替换掉了,所以需要修复回来。
LZ 的 Linux 是 Fedora 34,所以通过U盘的 Live CD 启动.1.⾸先通过 fdisk 查看 efi 分区所在的磁盘。
>$ sudo fdisk -lDisk /dev/sdb: 1.82 TiB, 2000398934016 bytes, 3907029168 sectorsDisk model: WDC WD20EZRX-22DUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 4096 bytesI/O size (minimum/optimal): 4096 bytes / 4096 bytesDisklabel type: gptDisk identifier: 81921D83-5F46-440C-A8AE-0E7659E3C5BADevice Start End Sectors Size Type/dev/sdb1 204820991992097152 1G EFI System/dev/sdb2 1048578048389021900728416409601.3T Linux filesystem/dev/sdb3 3890219008390702899116809984 8G Linux swap/dev/sdb4 209920062935034194304 2G Linux filesystem/dev/sdb5 629350410485780471042284544 497G Linux filesystem由此可知,我的 efi 分区是 sdb1,那么使⽤ efibootmgr 命令修复该分区即可。
Windows双系统引导出错如何修复解决?
Windows双系统引导出错如何修复解决?双系统,其实就是将两个系统安装在一台电脑的不同的分区。
之后,电脑开机的时候会出现双系统引导项,我们选择需要使用的系统进入即可。
但是,有时使用双系统时我们会遇到只能进入一个系统的情况,大多是因为系统引导文件损坏,需要通过双系统引导修复工具进行修复。
下面小编教你如何使用双系统引导修复工具修复Windows 系统吧!Windows双系统引导出错常见情况!电脑在初次形成双系统或者多种系统的情况下,有可能会出现以下问题:1、在重装系统后,电脑总是从硬盘第一分区C启动系统,而不如用户所愿,它不会选择性的启动其它的分区系统盘符2、在电脑开机时出现系统启动引导选择项多了一个无用的选择项,却不知道怎么删除它3、安装有双系统的计算机在启动的时候并未显示多个启动项。
Windows双系统引导出错如何修复解决?方法一:系统配置启动设置!1、同时按下两个键“Win”+“R”调出运行窗口,或者在桌面点击“开始”+“运行”,如下图,输入msconfig ,点击确定2、出现“系统配置”窗口,选择项调到“引导”即可看到和刚才看过的图一样。
如果你是想要删除多余的无用的引导启动选择项,那么就是它了方法二:双系统引导修复工具修复Windows!先来了解一下电脑启动原理:进入BIOS→读取磁盘中的激活分区→读取引导文件→载入系统(启动系统)所以,出现Windows双系统引导出错,大部分都可以通过BIOS 进行修复,这里可以使用双系统引导修复工具修复Windows双系统引导修复工具使用教程一:1、下载NTBootAutofix系统启动自动修复工具,用管理员身份运行2、然后,点击“自动修复”,选择1或者按键盘上的1 即可3、而在自动修复中,它会找到你所有的系统,并且给它装载到正确的引导信息中4、等待自动修复完成,你可以查看boot.ini5、或者,你可以选择手动修复,选择修复或者跳过即可6、另外,NTBOOT autofix还有很多功能,你可以选择高级查看:如果你装的系统盘符不是默认的C盘,选择3修改系统盘符即可Windows双系统引导修复工具使用教程二:1、下载安装EasyBCD双系统引导修复工具,安装时注意选中有关的“个人版本”,完成后运行2、如果想查看“系统引导启动项”的的话,就点击“编辑系统引导菜单”3、如果想要添加“系统引导选择项”,就点击“添加新条目”,其中操作系统,类型设为Windows Visita/7/8 ,驱动器设为E(这里请选择你的系统和系统所在的起动器名),最后点击“添加条目”即可4、接着,点击“高级设置”,选择一个操作系统Microsoft Windows 7更改设置中,把区域设置为“Chinese(China)”,最后点击“保存设置”即可5、之后,你还可以点击“查看设置”查看具体变化,如下图所示,条目#2下名称是Microsoft Windows 7,说明系统引导选择项添加成功6、另外,你还可以点击“编辑引导菜单”查看新增的系统引导选择项,需要注意的是,其中的倒计时(秒)不要调小了,一般只默认为5,或者调出“系统配置”来查看7、最后一步,你重启Windows系统,就正式完成全部操作了,而Windows双系统引导问题已经解决以上就是Windows双系统引导出错的解决方法,其中包括系统配置启动设置以及Windows双系统引导修复工具。
双系统如何修复引导教程步骤
双系统如何修复引导教程步骤双系统虽然性能上增强了,但是也有一些存在问题,比如开机引导都是Metro引导菜单,不管选择启动哪个系统都要重启一次,很麻烦,但是麻烦却并没有就此结束。
具体怎么修复呢?方法步骤:1、下载NTBOOTautofix v2.5.72、双击打开---选择2【高级】---选择4【查看/管理BCD引导配置】选择A----再选择M之后选择0返回---再选择B----再选择M重启之后,你便会发现,你熟悉的那个引导界面又再次回来了。
注意:由于是个人摸索得出来的方法,因而无法确认这样修改之后的后果是什么,因此想要通过这种方法解决问题的用户们,需要慎重考虑,以免发生其他后果。
相关阅读:电脑不能开机原因分析:1、首先,回想一下我们上一次正常操作电脑前后有没有非正常使用电脑,比如搬运、碰撞、进水等等。
如果有这类情况,建议重新插拔插座、电源试试,检查电脑电源键是否损坏。
2、打开电脑重新插拔显卡、内存条,也有可能是笔记本CPU、主板坏了,顺便检查CPU和主板。
3、也有可能是连接电脑的外部存储设备、手机、USB设备导致电脑无法开机。
比如笔者常常遇到过的当手机或者SD卡未从电脑里的插孔中拔出时,电脑开机会卡死在开机自检阶段。
这种情况就需要全部拔出手机、SD卡、USB设备。
如果不影响体验,就不要做出更改,如果影响体验,你可以进BIOS设置里更改一下第一启动项。
4、也可能是电脑散热不良,如果电脑风扇运转不良、内部CPU 温度过高,就算你成功开机,电脑也会自动关机。
这就先需要你做好电脑的散热工作再使用电脑了。
5、看看电脑能不能进入安全模式,一般是XP开机后按F12,win7开机后按F8,在安全模式下,我们可以尝试修复电脑或者系统还原。
电脑修复成功以后,关机重启即可。
6、如果尝试了上述方法还是无法正常开机,建议重装系统试试,我们可以将电脑的非系统盘作为U盘或者光盘给电脑安装系统。
windows和linux(ubuntu)双系统如何进行引导恢复?
windows和linux(ubuntu)这两种系统各有千秋,功能都很强大,所以有些用户在每个都割舍不下的情况下安装windows和linux(ubuntu)双系统,但是双系统如果有一个遭到破坏,引导修复很麻烦,经过几次尝试经验,大致总结了以下的恢复方法:第一种情况:在windows下破坏了linux,比如删除了linux分区效果:开机进入grub,等待输入参数解决办法:手动输入引导参数可以正常进入windows,但很麻烦,最好的办法是重置mbr。
1.找到一张带命令行修复的window系统,光盘启动,进入加载。
2.选择命令行修复(按R),如果没有类似这个的选项,那么就是这张盘不支持。
3.进行后,会列出硬盘里安装的windows系统,一般只有一个,前面标号是1.输入标号按回车选择要修复的系统。
4.输入fixmbr,回车,会提示确认,输入y,回车,提示成功。
5.重启即可,这个时间只有一个windows系统了,linux已经破坏不存在。
第二种情况:重新安装windows系统,linux系统不能引导。
(重新安装linux,不会破坏引导,而且linux比较稳定,我一般不重装,有问题修复即可)效果:没有linux启动选项,但有linux那个分区(磁盘管理里能看,我的电脑看不到)解决办法:1.找到一张带livecd的linux安装盘,光盘启动,进行livecd2.进行终端,输入sudosu进行root权限3.fdisk-l列出分区情况,找到linux分区,比如是/dev/sda84.新建一个文件夹,比如是/mnt/linux挂载linux分区mount/dev/sda8//mnt/linux只是举例,具体参数根据情况定5.安装gurbgrub-install–root-directory=/mnt/linux/dev/sda"/mnt/linux"是挂载的文件夹,/dev/sda是硬盘,都要根据实际情况而定。
windows7引导故障的解决 mbr修复
先让我们看一下windows7的启动过程的常识:电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT(分区表),从中找出活动的主分区,然后读取活动主分区的PBR(分区引导记录,也叫dbr,究竟该叫什么,网络上争论未休,我们姑且叫它pbr吧),PBR再搜寻分区内的启动管理器文件 BOOTMGR,在BOOTMGR被找到后,控制权就交给了BOOTMGR。
BOOTMGR读取\boot\bcd文件(BCD=Boot Configuration Data,也就是“启动配置数据”,简单地说,windwows7下的bcd文件就相当于xp下的boot.ini文件),如果存在着多个操作系统并且选择操作系统的等待时间不为0的话,这时就会在显示器上显示操作系统的选择界面。
在我们选择启动WINDOWS7后,BOOTMGR就会去启动盘寻找WINDOWS\system32\winload.exe,然后通过winload.exe加载windows7内核,从而启动整个windows7系统。
可以把这个过程简单地概括为:BIOS-->MBR-->DPT-->pbr--> Bootmgr-->bcd-->Winload.exe-->内核加载 -->整个windows7系统本文就来说一说MBR-->DPT-->pbr--> Bootmgr-->bcd这一段可能出现的故障的解决。
mbr出现问题,主要是mbr代码被改写,因为被改写的代码不同,所以出错信息也各不相同。
比如我们装了windows7与ubuntu双系统,ubuntu改写了mbr,在我们把ubuntu所在的分区格式化后,既进不了windows7,也进不了ubuntu,开机的时候会出现如图的错误提示:[图一]解决的办法就是重写mbr。
对于重写mbr,我们所熟知的是在dos下用fdisk /mbr命令进行重写。
linux启动的修复
linux启动的修复linux启动的修复如果你的机器是多操作系统启动,且硬盘上有一个fat32分区,当此系统的linux不能启动时,可以参考下列步骤恢复:0、准备工作•找一个windows98的启动软盘或安装光盘•linux系统安装盘•将另一个与你的linux版本相同的机器上的boot目录下的所有文件打包为boot.tar.gz假定:•你的系统使用的是ntloader来管理多系统启动•fat32分区在windows是D盘,对应于linux则是设备/dev/hda5•你的linux的root在/dev/hda8上。
1、正常进入windows系统将linux安装盘的dostools下面的loadlinux.exe文件复制到D:\boot下,将boot.tar.gz中的所有文件解压缩到d:\boot目录下。
如果vmlinuz文件的长度为0,则将vmlinuz*文件中长度不为0的copy一个为vmlinuz2、重启系统,通过启动软盘或win98安装光盘进入dos状态此时,如果你在windows下的C盘的分区类型不是fat32或fat 的话,则原来的D盘现在显示为C盘。
进入c:\boot,运行loadlinux vmlinuz root=/dev/hda8 ro如果顺利,此时可以正常进入linux操作系统。
如果以后再次不幸的不能正常启动linux,可以只运行第2步来试图启动linux.3、进入linux编辑/etc/lilo.conf文件,将其中的boot值改为/dev/hda8运行lilo运行dd if=/dev/hda8 of=/root/linboot.sct bs=512 count=1 运行mount -t vfat /dev/hda8 /mnt运行cp /root/linboot.sct /mnt运行reboot4、正常进入windows将d:\linboot.sct复制到c:\编辑c:\boot.ini文件,做相应的配置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【转】 [命令]windows与linux系统引导分区系统修复2011-09-08 16:26转载自分享最终编辑孤独散步者的梦环境说明:windows与linux系统并存情况下:一、修复Linux的GRUO引导菜单:在windows重装,卸载之后, linux引导分区修复,因为windows清除MBR中的多重开机管理程序,重新安装GRUB即可:用Linux启动盘,或安装盘或livecd,引导进入救援模式:插入linux系统盘是第一张,然后在出现界面时按F4或F5键,进入linux rescue模式,或直接输入“linux rescue”,再提示设定语系(选择English),键盘类型(选择US),选择是否启用网卡(选择NO),选择如何挂载Linux分区(一般选择Rdad-Only),然后进入sh#命令行!(1)、方法一:然后进入sh#命令行!输入:“chroot /mnt/sysimage”(切换目录);输入:“grub-install /dev/hda”(重装GRUB,/dev/hda指linux系统安装在第一硬盘)(2)、方法二:进入#sh>后:sh#grub (输入grub回车)grub>root (hd0,1) (注:这里hd0指第一硬盘,1指第一分区,不清楚按TAB键。
)grub>setup (hd0) (注:指安装GRUO在第一硬盘上)二、修复Windows引导菜单:在linux系统删除之后,修复系统主引导扇区,出windows引导菜单方法:(1)、用启动盘进入DOS,执行:A:\> fdisk /mbr(2)、用windows2000以上的安装光盘,引导进入“系统故障修复台”:C:\windows\>fixmbr(3)、使用SPFDisk程序修复mbr:到下载SPFDisk软件,做成启动盘!引导系统!A:\>spf2k3rc (执行exe程序)A:\>spfdisk /mbrGRUB使用指南kes,2007-06-15 09:29:13GRUB使用指南GRUB是一个多重开机管理工具,它可用来激活Linux、BSD、OS/2、BeOS与Windows95/98/NT等众多操作系统,GRUB是一个独立于操作系统之外的开机程序,并不像LILO是依靠Linux才能进行设定与维护,也提供了类似Bash的命令列模式,让使用者更方便地设定GRUB。
取得与安装GRUB:GRUB的原始码压缩档可至GNU的ftp站台( ftp:///gnu/GRUB/)下载最新版本,下载回来后可存放在/usr/local/src/目录下并将其解压缩:cp grub.tar.gz /usr/local/src/tar zxvf grub.tar.gz在GRUB的目录下执行configure文件、make与make install,如下:./configuremakemake install当make install完成后GRUB也已顺利安装完毕,并有三个指令文件也被安装至系统中:grub、grub-install与mbchk。
而GRUB的相关档案通常被安装到/usr/local/share/grub的目录下。
接下来先假设硬盘分割如下:hda1:Windows98 (hd0,0)hda2:Slackware Linux (hd0,1)hdb1:Mandrake Linux (hd1,0)注意的是GRUB认硬盘的方式跟Linux是不一样的,在Linux中第一颗IDE硬盘是hda(SCSI:sda)以此类推,而GRUB则将第一颗IDE硬盘视为hd0(SCSI:sd0)以此类推;在Linux中第一颗IDE硬盘的第一个分割区是hda1(SCSI:sda1)以此类推,而GRUB将第一颗IDE硬盘的第一个分割区表示为hd0,0(SCSI:sd0,0)以此类推。
制作GRUB激活磁盘:制作GRUB激活磁盘其实不难,首先需要两个必备档案,分别是stage1与stage2,可以在GRUB的安装目录下的i386-pc目录中找到这两个档案,以及一片已格式化的干净磁盘,然后依照下面的制作步骤就可制作出GRUB的激活磁盘:cd /usr/local/share/grub/i386-pc/dd if=stage1 of=/dev/fd0 bs=512 count=1dd if=stage2 of=/dev/fd0 bs=512 seek=1制作好了GRUB的开机磁盘之后,就可以试着使用GRUB来进行多重操作系统的开机激活。
利用GRUB开机磁盘激活系统:接着重新激活系统并设定BIOS由磁盘开机,然后就可以看到grub>的命令列正等待指令,这就是GRUB的命令列环境,表示GRUB已顺利地从激活磁盘加载并正常运作当中了。
现在假设要激活上述的Slackware Linux的话,在GRUB提示符号下键入如下的指令,如此就会进入Slackware Linux系统:grub> root (hd0,1)grub> kernel /boot/vmlinuz root=/dev/hda2 rogrub> bootroot指令会mount后面参数的硬盘分割区位置。
当mount完成后kernel指令会加载其参数的系统核心,Linux的核心通常是在/boot目录下名为vmlinuz的档案。
最后的两个参数都是要传给刚加载的核心,root=/dev/hda2是告诉核心根目录的位置是在/dev/hda2,并要求挂载成只读(ro)。
最后执行boot指令以进行Slackware系统的开机激活。
同理,位在hdb1上的Mandrake Linux 也可以用类似的方式激活:grub> root (hd1,0)grub> kernel /boot/vmlinuz root=/dev/hdb1 rogrub> boot现在root指令改mount (hd1,0)的分割区,此分割区就是Mandrake Linux的根目录位置。
然后kernel指令加载Mandrake的核心文件,告诉核心Mandrake系统的根目录是在/dev/hdb1,并要求挂载成只读。
最后以boot指令进行系统的激活。
以上的方式都可以顺利地激活Linux系统,但是对Windows系统可是不管用的,要激活在hda1上的Windows98的话,则要换些指令才行得通,请在GRUB命令列中依序键入下列指令就可以进入Windows98:grub> rootnoverify (hd0,0)grub> chainloader +1grub> makeactivegrub> boot以rootnoverity指令让GRUB不要mount (hd0,0)的分割区,只要知道待会是要激活此分割区上的操作系统。
chainloader +1的意思是指定此分割区上的第一个扇区来做激活。
makeactive指令是要在此分割区上设定active的旗标,只要是Windows的操作系统都是要这么做的。
最后以boor指令进行开机。
使用硬盘上的GRUB开机激活:GRUB的开机磁盘固然方便好用,但制作GRUB开机磁盘的目的只在于系统救援之用,要能确实享用GRUB的强大功能,最好是可以用硬盘上的GRUB来进行开机,就像LILO一样安装到硬盘的MBR上。
首先要在系统上建立GRUB专用的开机目录/boot/grub,如同制作GRUB的开机磁盘一样须要stage1文件和stage2檔,所以请把GRUB安装目录下的i386-pc目录中的stage1文件和stage2檔copy到刚刚建立的/boot/grub目录底下:mkdir /boot/grubcp /usr/local/share/grub/i386-pc/stage* /boot/grub完成之后键入指令GRUB指令进入GRUB命令列环境,在GRUB命令列环境里键入如下的指令:grub> root (hd0,2)grub> setup (hd0)grub> quit如此即可完成GRUB在/boot/grub中的开机设定,先用root指令mount目录/boot/grub所在的位置,其中的(hd0,2)就是指上面假设的Slackware系统,也就是说/boot/grub目录是在Slackware系统中所建立的。
所若是要改成由Windows98来放置GRUB的stage档的话,就要在Windows98的系统上建立/boot/grub的目录,并将stage1檔和stage2檔存放在Windows98上的\boot\grub目录里,而root指令的参数也要改为Windows98所在的分割区,也就是上面假设的(hd0,0)。
第二个指令setup是指要将GRUB安装在哪个位置来开机激活,如果是要安装到硬盘的MBR上的话只须加上硬盘的位置如(hd0),若是要安装到硬盘第一个分割区上的第一个扇区的话就要加上分割区的位置如(hd0,0)。
除非是有特殊的情况,不然最好是装在硬盘的分割区上较安全。
最后使用quit指令离开GRUB 命令列环境。
使用选项清单:现在虽然可以用GRUB来做多重开机的管理,但每次都要输入繁杂的指令也不方便,因此GRUB 也提供了选项清单的方式,让每次开机时只须按上下键选择要开机的系统再按下Enter键即可进行开机而不必再输入任何的指令。
GRUB在开机时会先寻找/boot/grub目录下的menu.lst档,找到的话GRUB就会依照menu.lst文件的内容显示一个选项清单的图形接口,让使用者选择要开机的操作系统。
首先在/boot/grub目录下建立一个新档名为menu.lst,底下是menu.lst文件的设定范例:#/boot/grub/menu.lsttimeout 30default 0 #Default Slackware Linuxfallback 1 #Windows98fallback 2 #Mandrake Linuxcolor light-green/brown blink-red/blue# For booting Slackware Linuxtitle Slackwareroot (hd0,1)kernel /boot/vmlinuz root=/dev/hda2 ro#For booting Windowstitle Windows98rootnoverify (hd0,0)chainloader +1makeactive#For booting Mandrake Linuxtitle Mandrakeroot (hd1,1)kernel /boot/vmlinuz root=/dev/hdb1 ro上面menu.lst文件的范例是针对之前所假设的硬盘分割区上配置的操作系统而设定的。