首页 > 代码库 > grub命令磁盘管理

grub命令磁盘管理

grub命令磁盘管理 grub命令是多重引导程序grub的命令行shell工具。 

语法 

grub(选项)


选项

 

--batch:打开批处理模式; 

--boot-drive=<驱动器>:指定stage2的引导驱动器; 

--config-file<配置文件>:指定stage2的配置文件; 

--device-map=<文件>:指定设备的映射文件; 

--help:显示帮助信息; 

--install-partition=<分区>:指定stage2安装分区; 

--no-config-file:不使用配置文件; 

--no-pager:不使用内部分页器; 

--preset-menu:使用预设菜单; 

--probe-second-floppy:检测第二个软盘驱动器; 

--read-only:只读模式。 


实例 

利用grub命令来启动损坏的Linux系统,可能你的电脑因为某些原因损坏不能自动启动了。当然原因很多,可能的现象也很多。

 

这里说一下这种情况下的处理方法,即:屏幕上提示grub>,但你的硬盘上数据没有丢失,各分区都是好的。这种情况是你的

grub信息损坏了,但比较严重的是系统启动不了。


当然,在正常启动情况下,屏幕上出现grub的启动项选择菜单时按c键也是可以进入grub>状态的。这时候我们需要用grub的

命令来手工启动系统。 


只需要用到四个命令boot、kernel、initrd、boot。


但grub本身命令很多,比如查看文件内容的cat ,你输入help会得到。


首先,输入“ root (hd ” ,然后按两次 TAB 键; /* 这会列出你电脑上可能的磁盘设备,硬盘为 hd0/hd1 或 sd0/sd1 等 */

然后,选择你的安装 Linux 系统的硬盘,比如 hd0 ,输入 “ root (hd0, ” 再按两次 TAB 键; /* 这会列出你的第一块硬盘上

的分区情况,你会知道哪个是 swap 交换分区, 0x82 ,哪个是 Linux 分区 0x83 */ 


选择你认为可能的 /boot 目录所在的分区,输入root (hd0, 1)回车; 

接着,输入cat /boot/vm, 按两次 TAB 键,如果出现一些 vm 开头的文件,比如 vmlinuz-2.6.15-26-386 说明这里是 /boot 所在的分区。 


删除上一次的输入,再输入cat /boot/initrd,按两次 TAB 键,如果出现一些 initrd 开头的文件,比如 initrd.img-2.6.15-26-386 说明这个

/boot 所在的分区有 initrd ,即 ramdisk 镜像; 


删除上一次的输入,再输入cat /sbin/init,按两次 TAB 键,如果出现一些 init 开头的文件,比如/sbin/init说明这个分区是/所在的分区; 


如果没有出现/sbin/init文件,说明(hd0,1)分区仅仅是/boot分区而不是/分区。重新输入root (hd0,N)命令,这里 N 是某个 Linux 分区,

然后再试cat /sbin/init, 直到屏幕上出现/sbin/init,说明你找到了/分区,严格来说,应该是/sbin目录所在的分区; 


依次输入命令: 

root (hd0,1) /* 假设 /dev/hda2 是你的 /boot 所在的分区 */ 

kernel /boot/vmlinuz-2.6.15-26-386 ro dev=/dev/hda3  /* 假设 /dev/hda3 是你的 / 所在的分区 */ 

initrd /boot/initrd.img-2.6.15-26-386

boot

即可启动系统。 


这里的关键问题是如何确定系统的几个分区:/bootb,/,/sbin。


本文出自 “平平淡淡才是真” 博客,请务必保留此出处http://ucode.blog.51cto.com/10837891/1915868

grub命令磁盘管理