Ubuntu下安装grub到MBR方法修复双系统
- 格式:docx
- 大小:18.85 KB
- 文档页数:1
ubuntu20.04与win7UEFI+GPT双启动修复 ⽼笔记本,⼀直⽤的ubuntu14.04与win7双系统。
因为怕折腾,⼀直没有升级ubuntu,毕竟⾥⾯有数年常⽤的数据、软件,升级的话不折腾⼏天是搞不定的。
不过ubuntu14.04的⽀持基本到头了,趁着ubuntu20.04 LTS新鲜出炉,决定尝试⼀下。
这⼀尝试,⾸先出现的问题就是引导挂了。
只进⼊了grub shell,然后我进⼊LiveCD⽤boot-repair⼀顿操作,把win7的启动也弄挂了,这。
只能⼿动慢慢修了。
要修就得先知道UEFI是怎么⼯作的,这⾥先简单说下UEFI的启动过程。
⽀持UEFI的主板上都有NVRAM(Non-Volatile Ram即掉电也不丢失数据的存储空间),安装操作系统的时候,通常都会在NVRAM写⼊引导项,这个列表除了安装操作系统时写⼊的引导项,还有⼀些固定的硬件引导项,⽐如硬盘、U盘、⽹络启动)。
在开机的时候,进⼊BIOS应该是能看到这个列表的,不同的主板操作不⼀样,我机⼦上的NVRAM列表看起来是这样的:ubuntu是安装ubuntu时写⼊的引导项,IPV4、Boot From EFI File则是⼀些固定的硬件引导项。
实现UEFI启动,硬盘上还需要有⼀个ESP分区(EFI system partition),然后安装操作系统时,会在ESP分区写⼊引导⽂件。
我机⼦上的ESP分区⼤概是这样的:~$ sudo tree /boot/efi/EFI -L 3/boot/efi/EFI├── Boot│├── BOOTX64.CSV│├── bootx64.efi│├── grub.cfg│├── grubx64.efi│├── mmx64.efi│└── shimx64.efi├── Microsoft│└── Boot│├── BCD│├── BCD.LOG│├── BCD.LOG1│├── BCD.LOG2│├── bootmgfw.efi│├── bootmgr.efi│├── BOOTSTAT.DAT│├── cs-CZ│├── da-DK│├── de-DE│├── el-GR│├── en-US│├── es-ES│├──fi-FI│├── Fonts│├── fr-FR│├── hu-HU│├── it-IT│├── ja-JP│├── ko-KR│├── memtest.efi│├── nb-NO│├──nl-NL│├── pl-PL│├── pt-BR│├── pt-PT│├── ru-RU│├── sv-SE│├──tr-TR│├── zh-CN│├── zh-HK│└── zh-TW└── ubuntu├── BOOTX64.CSV├── grub.cfg├── grubx64.efi├── mmx64.efi└── shimx64.efi28 directories, 19 files其中,Boot⽬录是ESP分区的默认⽬录,Microsoft是win7的引导⽬录,ubuntu则是ubuntu的引导⽬录,注意,ESP分区是fat格式,这些⽬录及⽂件名不区分⼤⼩写。
双系统,win7下一键Ghost,进入grub rescue的解决方法本人安装的是win7+ubuntu10.10,硬盘直接安装。
因为win7下装了几个大软件,所以决定一键Ghost备份一下,结果重启之后,就进入了grub rescue界面:error:unknown filesystemgrub rescue>研究了半天,才解决这个问题。
先说说是怎么回事。
安装ubuntu时,启动是用grub2进行启动。
我的win7在C盘,Ubuntu空间是从D盘里分出来的。
我们知道,每次系统启动时都是先进入grub,也就是先在ubuntu的启动目录里选择进入哪个系统,如果按分区来讲,grub2在(hd0,msdos7)也就是我的ubuntu所在的分区。
那么启动时root应该设在(hd0,msdos7),可一键ghost会修改启动,它把root改在(hd0,msdos9),这是个windows分区,也就是NTFS分区,ubuntu是不能识别这种文件系统的,所以就有了error:unknown filesystem,这种情况下自然不能启动,那么grub2就会启动grub rescue模式,就是修复模式。
那么我们要做的就是把grub重新指向(hd0,msdos7)。
下面是具体步骤:①查看分区因为每个人的分区不一样,所以我们要查看分区,用ls指令grub rescue>ls回车后,就会出现(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)grub rescue>注:我用的是grub2,对于grub用户,分区前没有msdos字样上面是我的分区,每个人的不一样。
grub rescue>set 回车prefix=(hd0,msdos9)/boot/grubroot=hd0,msdos9从上面可以看出来现在我的系统是从(hd0,msdos9)里启动的。
win10+ubuntu双系统修复ubuntu启动引导严正声明:本⽂是笔者2017年原创,近期发现有⼤量其他博主直接copy(主要在CSDN),还申明原创。
本⼈表⽰强烈谴责,请⼤家尊重原创!欢迎转载,但请注明原⽂链接。
因为windows是不能引导linux的,⽽每次win10升级或恢复都会将linux的启动引导覆盖掉,导致⽆法进⼊linux, 所以⼀直就禁⽌了win10更新.这⼏天win10出了点⼩⽑病,所以就狠下⼼来恢复了系统, 好吧~_~ 这下嗝屁了,ubuntu进不去了.⾥⾯保存了不少资料,实在是不想重装,google了好久终于找到了解决办法但也有⼀些瑕疵,经过不懈的努⼒,最终解决了^_^正常情况是这样的:更新完之后就没有这个界⾯了,会直接进⼊windows解决步骤:1:准备⼀个安装U盘,插⼊电脑->开机->选择试⽤Try ubuntu without install2:打开终端(Open Terminal),获取root权限,执⾏以下命令:$ sudo su# sudo add-apt-repository ppa:yannubuntu/boot-repair# apt-get update# apt-get install boot-repair在dash中搜索boot-repair点recommand repair之后会⾃动执⾏静候⼏分钟,等其结束后关机,拔掉U盘,开机3:开机之后,会出现类似于这样⼀个界⾯,发现多了很多不必要的选项删掉⼀些东东就好,执⾏以下命令:su # 获取root权限cp /boot/grub/grub.cfg /boot/grub/grub.cfg_backup #先备份⼀下cat /boot/grub/grub.cfg > tmp #将内容重定向到其他⽂件,便于修改gedit tmp #或者vim tmp#将下⾯这些内容全部删掉 ### BEGIN /etc/grub.d/25_custom ### menuentry "Windows UEFI bootmgfw.efi" { search --fs-uuid --no-floppy --set=root 84F5-6727 chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi } menuentry "Windows Boot UEFI loader" { search --fs-uuid --no-floppy --set=root 84F5-6727 chainloader (${root})/EFI/Boot/bkpbootx64.efi } ...menuentry "Windows Boot UEFI recovery bkpbootx64.efi" {search --fs-uuid --no-floppy --set=root 5686-D913chainloader (${root})/efi/Boot/bkpbootx64.efi}### END /etc/grub.d/25_custom ###其实就是删掉对应的中间那⼏项 删掉之后再: cat tmp > /boot/grub/grub.cfg reboot4: ⼀切如初。
Win7、Ubuntu双系统正确卸载Ubuntu 系统∙浏览:2575∙|∙更新:2013-09-04 22:14∙|∙标签:卸载如果ubuntu不是以wubi方式安装的,那么卸载ubuntu时要慎重,不是直接删除ubuntu所在分区这么简单的,否则你会发现你的windows系统也进不去了。
那是因为如果你安装Ubuntu的时候将GRUB写入到MBR,也就是/dev/sda,(如果你每次一开机就出现GURB菜单,说明写入到MBR )。
那么你卸载ubuntu的时候就将MBR重写,去掉ubuntu的GURB。
正确的删除ubuntu方法如下:第1步,修复MBR1.进入win7,下载个软件MbrFix,放在C:\windows\system32文件夹中2.点击开始》所有程序》附件》命令提示符3.在命令提示符中输入MbrFix /drive 0 fixmbr /yes4.此时已经修复了MBR,重启电脑后会发现已经没有了linux启动选项,直接进入windows了第2步,删除Ubuntu在Win7下,在计算机(Computer)上点右键->管理(Manage)->磁盘管理(DiskManagement):有2个没有卷标名称(卷标名称就是驱动器号,如C:,D:,E:,…)的主分区(PrimaryPartition)就是Ubuntu的分区,主分区的窗口颜色是深蓝色的。
其中一个是交换(Swap)分区,与机器物理内存大小差不多;另一个是root 分区,大小和你分配给它的差不多。
分别在这2个分区上点右键,选择删除卷(DeleteVolume),删除卷之后,分区窗口颜色会变为绿色,并合并为一个窗口。
如果你不想安装Ubuntu,那么可以在这个未知分区上创建扩展分区,格式化,分配卷标,给Win7使用。
如果想安装Ubuntu,那么删除分区后就不要有任何操作了。
修改硬盘分区导致的MBR丢失的问题解决方法关键词:error:unknown filesystem grub rescue>、ubuntu、SATA硬盘、WinPE、DiskGenius放假前没事鼓捣虚拟系统,不小心在硬盘上又划分出来一个分区,是划去了F盘的空余空间10GB,建立一个H盘,重启之后,电脑直接启动不了,显示:error:unknown filesystemgrub rescue>BIOS里面可以显示硬盘信息,但启动时硬盘灯只是闪烁两下,之后就不动了。
(背景:本人WIn7+Ubuntu双系统,有grub作为双系统启动引导,Win7在C盘,ubuntu装在EXT3文件系统的H盘(当然在Win7中不显示)调整分区导致EXT3文件系统的H盘和新建H盘冲突,硬盘MBR丢失,存在MBR中的引导信息也随之丢失。
)先根据百度到的出现此类情况修复办法:1、ls 命令grub rescue>ls会罗列出所有磁盘分区信息:(hd0)(hd0,msdos10)(hd0,msdos9)(hd0,msdos8)(hd0,msdos7)(hd0,msdos6)(hd0,msdos5)(hd0,ms dos1)2、然后依次调用如下命令:X表示各个分区号码,如果/boot没有单独分区,则用以下命令:ls (hd0,msdosX)/boot/grub如果/boot单独分区,则用命令:ls (hd0,msdosX)/grub循环使用直到显示文件夹中的内容,则说明找到了grub的目录,下一步临时将grub的两部分关联起来:grub rescue>set root=(hd0,msdos5) *假设msdos5中找到grub目录grub rescue>set prefix=(hd0,msdos5)/boot/grubgrub rescue>set *将显示关联成功grub rescue>insmod /boot/grub/normal.mod如果/boot没有单独分区,则去掉命令行中的“/boot”然后调用如下命令行,就可以显示出丢失的grub菜单了。
桌面应用Windows和Ubuntu双系统,修复UEFI引导的两种办法读者在读过我的安装Ubuntu和Windows 8双系统教程以后,碰到的主要的问题是电脑直接启动到Windows 8而没有出现启动Ubuntu的选项。
这里有两种修复EFI启动引导的方法,使Ubuntu可以正常启动将GRUB2设置为启动引导1. 启用GRUB引导在安装时,有些地方可能会出问题。
理论上来说,如果你首先安装Ubuntu,那么你需要关闭快速启动。
希望你按照这个指南创建一个UEFI Ubuntu 启动优盘安装正确的UEFI引导程序。
如果你在安装时已经完成了这些事情,那么可能出错的地方就是将GRUB2设置为启动管理器。
可以按照以下几个步骤将GRUB2设置为默认的引导程序:1.登录Windows 82.转到桌面3.右击开始按钮,选择管理员命令行4.输入 mountvol g: /s (这将你的EFI目录结构映射到G盘)5.输入 cd g:\EFI6.当你输入dir 列出文件夹内容时,你可以看到一个Ubuntu的文件夹7.这里的参数可以是grubx64.efi或者shimx64.efi8.运行下列命令将grub64.efi设置为启动引导程序:bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi9.重启你的电脑10.你将会看到一个包含Ubuntu和Windows选项的GRUB菜单11.如果你的电脑仍然直接启动到Windows,重复步骤1到7,但是这次输入:bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi12.重启你的电脑这里你做的事情就是登录Windows管理员命令行,将EFI引导区映射到磁盘上,来查看Ubuntu的引导程序是否安装成功,然后选择grubx64.efi或者shimx64.efi作为引导程序。
那么grubx64.efi和shimx64.efi有什么区别呢?在安全启动(serureboot)关闭的情况下,你可以使用grubx64.efi。
解决电脑双系统启动失败的处理方法电脑双系统启动失败是许多用户在日常使用中经常遇到的问题。
当我们在电脑上安装了两个不同的操作系统时,有时候会出现启动失败的情况。
这不仅会影响我们的工作和娱乐体验,还可能导致数据丢失和系统崩溃。
本文将介绍一些解决电脑双系统启动失败的处理方法,帮助读者快速解决这一问题。
首先,我们需要检查硬件连接是否正常。
有时候,启动失败是由于硬件连接问题引起的。
我们可以检查硬盘、内存条、显卡等硬件是否正确连接,并确保它们没有松动。
如果发现有松动的硬件,我们可以重新插拔它们,然后重启电脑,看看问题是否解决。
其次,我们可以尝试修复启动引导。
启动引导是操作系统启动的关键,如果启动引导损坏或丢失,就会导致系统无法正常启动。
我们可以使用操作系统安装盘或U盘进入修复模式,然后选择修复启动引导。
具体的操作方法可以在各个操作系统的官方网站上找到。
如果修复启动引导仍然无法解决问题,我们可以尝试重新安装操作系统。
有时候,操作系统的文件损坏或丢失会导致启动失败。
在重新安装操作系统之前,我们需要备份重要的数据,以免数据丢失。
然后,我们可以使用操作系统安装盘或U 盘重新安装操作系统。
在安装过程中,我们需要选择“清除磁盘并重新安装”选项,以确保旧的操作系统完全被删除。
另外,我们还可以尝试使用第三方工具修复启动问题。
有许多第三方工具可以帮助我们修复启动问题,例如EasyBCD和Grub4Dos等。
这些工具可以帮助我们重新配置启动引导,修复损坏的引导文件等。
我们可以在官方网站上下载并安装这些工具,然后按照使用说明进行操作。
最后,如果以上方法都无法解决问题,我们可以考虑重置电脑。
重置电脑可以将系统恢复到出厂设置,解决大部分启动问题。
在重置电脑之前,我们需要备份所有的重要数据,以免丢失。
然后,我们可以在操作系统设置中找到“恢复”选项,选择重置电脑。
在重置过程中,我们需要选择“完全清除磁盘并重新安装”选项,以确保系统完全被重置。