关于grub2
由于做windows把mbr覆盖了,所以在修复时学习一下grub2的知识
一、设备的命名
grub2同样是以fd表示软盘,hd表示硬盘(包含IDE和SCSI硬盘)。设备从0开始编号的,分区则是从1开始编号的,主分区是1-4,逻辑分区从5开始。
(fd0):表示整个软件盘
(hd0,1):表示biso中第一个硬盘的第一个分区。
(hd0,5)/boot/vmlinuz:表示bios中第一个硬盘的第一个逻辑分区的boot目录下的vmlinuz文件。
二、grub2的安装与启动
安装 ubuntu9.10时,grub默认安装在第一个硬盘(hdo)的mbr上,其实就是把引导文件 boot.img写入硬盘的mbr。当然也可以选择不写入mbr,而写入linux分区的引导扇区中。
启动时根据mbr所提供的信息找到启动分区,加载分区的grub核心文件core.img和配置文件grub.cfg,进入选择菜单。
启动出现菜单时,按e键进入编辑状态
,按c键进入命令行模式
。control+x以编辑的内容启动
,control+c进入命令状态
,按esc返回菜单项
。
按c键进入命令行模式后,可以按tab查看命令
,根据需要进行加载或移除相应的模块。
实验(1)
第一个硬盘第一个分区上有windows xp系统,我们可以这样引导。
grub>set root=(hd0,1)
grub>chainloader +1
grub>boot
//我的第一个分区装的是msdos系统,测试成功。
ls命令:
ls
//显示出磁盘设备
ls -l
//能显示出分区及文件类型,uuid等信息
ls /
//列出当前设置的root分区下的文件
ls (hd0,1)/
//列出(hd0,1)分区下的文件
实验(2)
1、第一个分区是msdos系统,看看里面有什么文件
ls (hd0,1)/
显示出:io.sys msdos.sys command.com bootlog.prv bootlog.txt
我们在用到磁盘里的某个文件或目录时,可以按tab键进行列出,和linux命令的tab相似
2、显示linux分区里的文件
我的linux分区是(hd0,3) //dev/sda3
ls (hd0,3)/
[按tab显示当前文件,他还有补全的功能]
引导linux
我们首先知道内核文件vmlinuz-xxxx... 和initrd.img-xxxx(boot loader初始化内存盘)在boot目录里,而我的linux系统在(hd0,3)分区中
#指定用于启动的分区
grub> set root=(hd0,3)
#指定内核文件,linux的意思是用linux取代grub中的kernel命令
grub> linux /boot/vmlinuz-xxx-xxx root=/dev/sda3
[里面的文件名可以按tab查看]
#指定initrd文件
grub> initrd /boot/initrd.img-xxx-xxx
[文件名可以按tab查看]
#引导
grub> boot
我试着把这两个文件复制到dos分区,也可以出现一个 linux界面,里面有也linux常用的目录结构(我对这东西不了解,就想像成一个最简单的linux吧)
常用的功能:
set:
设置变量
如:
set default=0
set timeout=5
set root=(hd0,3)
等等
default :
默认引导的操作系统,0表示第一个,1表示第二个...
timeout:
定义在指定时间内没有按键盘上的某个键 ,自动引导default指定的操作系统
root:
指定用于启动的分区
insmod和rmmod:
加载和移除模块
如:
insmod jpeg
insmod png
insmod ntfs
rmmod png
等
drivemap
他是兼容grub的map,主要用于只能从第一硬盘(hd0)引导启动的系统,如win2000,xp,2003等 。如:要添加第二硬盘第一分区上的xp系统
menuentry "windows xp"{
set root=(hd1,1)
drivemap -s (hd0) ${root}
//访问变量"${变量名}"
chainloader +1
//此处'+1'是指示GRUB读入分区的第一个扇区的引导记录。即调用另一个启动器,如:chainloader(hd0,1) +1
}
实验(3):修复grub :livecd
1、先把 /boot/grub/grub.cfg删除 sudo rm /boot/grub/grub.cfg
2、从dos启动计算机把mbr清空,fdisk/mbr,我用的是sfdisk也可以的
3、用livecd引导计算机
ctrl+alt+1 //进入到控制台
sudo -i //进入超级用户
fdisk -l //查看分区情况
发现
/dev/sda3 305 2610 18522945 83 Linux
这个是我的硬盘linux所在的分区
挂载这个分区
mkdir /mnt/mylinux
mount /dev/sda3 /mnt/mylinux
安装grub
grub-install --root-directory=/mnt/mylinux /dev/sda
// /dev/sda指定要安装到哪个设备上
// --root-directory是挂载的原先系统的/
生成grub.cfg
我按教程做的,没有成功,我也不知道为什么。但我直接运行
update-grub
就自动建立菜单了,但默认的没有我的msdos分区的引导
menuentry "run msdos ..."{
set root=(hd0,1)
chainloader +1
}
把timeout设置>0这样就能看到启动菜单多一项了,选择进入成功。
分享到:
相关推荐
### Ubuntu 10.04 LiveCD 修复 Grub2 双系统引导 #### 背景介绍 在双系统环境中(例如同时安装有 Windows 和 Linux 的计算机),Grub2 是一个常用的引导加载程序,它负责在启动时提供菜单让用户选择要启动的操作...
可使用救援盘或从另一系统修复GRUB2。 - **无法识别操作系统**:可能是因为GRUB2配置文件没有正确更新。检查`/etc/grub.d/`中的脚本或运行`grub2-mkconfig`。 - **启动菜单不显示**:可能是BIOS设置问题,需检查...
4. **修复GRUB2**:如果GRUB2出现故障,可以使用系统恢复盘或者 Live USB 进行修复,如运行 `sudo grub-install /dev/sda`(请替换合适的硬盘设备名)。 总的来说,GRUB2主题让Linux用户有机会自定义系统的第一个...
这个zip文件中包含的“grub-2.02~beta2-for-windows”可能是GRUB2的Windows安装程序或者工具集,用于在Windows下安装、更新或修复GRUB2配置。使用这样的工具,用户无需在Linux环境中进行操作,简化了对GRUB2的管理和...
3. **故障排除**: 若Grub2引导出错,可以通过修复Grub2的引导扇区、检查配置文件或恢复备份的配置来解决。 五、安全与注意事项 1. **备份重要数据**: 在对Grub2进行任何重大更改之前,务必备份重要数据,以防意外...
6. **修复GRUB2**:由于GRUB2是多系统引导的重要部分,有时可能会因系统更新或硬盘问题导致引导错误。这时,可以使用Windows的系统修复光盘或Linux Live USB来修复GRUB2,或者使用专用工具如Boot-Repair。 7. **...
#### 情况2:双系统环境下修复GRUB 在双系统环境中,尤其是与Windows共存的情况下,Windows的引导加载器可能会影响GRUB的正常工作。在这种情况下,可以考虑使用工具如`EasyBCD`或`Boot Repair`来帮助管理和修复多...
GRUB2作为GRUB的升级版本,支持多系统引导,并能处理更多复杂的启动场景。然而,在某些情况下,GRUB可能会遇到问题导致无法正常引导系统,这时就需要使用到GRUB4DOS来修复GRUB。 GRUB4DOS是一款可以在MS-DOS环境下...
Ubuntu重装启动失败进入修复grub rescue模式 本文将详细介绍Ubuntu重装启动失败进入修复grub rescue模式的解决方法。该方法适用于在Ubuntu重装过程中出现启动失败的问题,并且介绍了在grub rescue模式下如何修复...
- 如果出现错误提示,尝试使用`update-grub2`命令代替。 ##### 步骤6: 重启并测试 - 最后,完成上述所有步骤后,安全地卸载所有挂载的分区,并重启计算机: ``` sudo umount /mnt sudo umount /mnt/boot reboot...
- **修复GRUB2**:如果GRUB2损坏或丢失,可以通过救援模式或Live CD/USB来修复。通常涉及使用`grub-install`和`update-grub`命令恢复配置。 #### 结论 GRUB2作为现代计算机系统中关键的引导加载程序,不仅在技术上...
2. **写入grldr.mbr到主引导记录**:grldr.mbr是一个特殊的GRUB版本,专门设计用于MBR。将它写入MBR使得Grub4Dos成为计算机启动时首先加载的程序。 3. **复制引导文件**:除了grldr.mbr,另一个关键文件grldr也需要...
【修复GRUB:XP+Win7的解决方案】 在多操作系统环境下,比如同时安装了Windows XP和Windows 7,GRUB(Grand Unified Bootloader)通常作为引导加载器来管理这两个操作系统的启动。然而,由于各种原因,如误操作、...
FIX GURB ON LINUX,当GRUB出现问题时,操作系统LINUX或WIN一般无法启动。该文档描述了如何在LIVECD模式下修复GRUB
以下将详细解释如何在重装XP后修复GRUB。 首先,了解问题的原因:在安装XP过程中,传统的安装程序通常会覆盖MBR(主引导记录),这是硬盘上的第一个扇区,其中包含了启动信息。GRUB通常被安装在这里,一旦被替换,...
这些工具能自动检测并修复GRUB问题,包括恢复GRUB菜单、修复MBR、更新GRUB配置等。 ### 实例解析 根据给定的部分内容描述:“一位同学装有XP和Ubuntu的双系统,在更新Ubuntu后,发现GRUB出现问题,无法找到XP,...
windows grub修复 Grub Rescue修复方法
五、修复GRUB2的EFI问题 在UEFI模式下,GRUB2的问题可能与EFI系统分区(ESP)相关。 解决方法: 1. 确认ESP分区已挂载,并找到对应的系统盘,如`/dev/nvme0n1p1`。 2. 运行`sudo grub-install --boot-directory=/...
双系统重装win7后修复grub引导 双系统重装win7后修复grub引导
这时,我们需要手动修复GRUB2,或者创建一个新的引导加载器来恢复双系统的正常启动。 该压缩包文件提供了三个关键文件:g2ldr、BOOT.INI和g2ldr.mbr。这些文件是用于修复GRUB2或替代启动管理器的工具。 1. **g2ldr...