grub
测试机OS为Ubuntu 14.04.1 LTS x86_64
磁盘分区情况为:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 19736236 3676896 15033756 20% /
none 4 0 4 0% /sys/fs/cgroup
udev 369132 4 369128 1% /dev
tmpfs 75984 840 75144 2% /run
none 5120 0 5120 0% /run/lock
none 379908 0 379908 0% /run/shm
none 102400 0 102400 0% /run/user
在grub2命令行(在引导界面输入c)的操作如下:
set root=(hd0,msdos1)
其中hd0为根目录所在的磁盘,IDE硬盘用hd开始,SCSI硬盘用sd开头。软盘用fd开头。命名和linux不大一样。是从0算起。
输入hd后按tab键可以进行查看。msdos1为根目录所在的分区,输入msdos后按tab键可以进行查看。
linux /boot/vmlinuz* ro root=/dev/sda1
其中*号为内核版本,输入/boot/vmlinuz后按tab键可以进行自动补全。sda1为根目录所在的分区。
若boot目录是单独分区同上为linux /vm...若boot不是单独分区就输入linux /boot/vm...
initrd /initrd.img
boot
最后成功进入登陆界面。
Ubuntu 14.04 Grub2 的小技巧 http://www.linuxidc.com/Linux/2014-04/100611.htm
Ubuntu 14.04 下载、安装、配置的相关知识 http://www.linuxidc.com/Linux/2014-04/100370.htm 。
Ubuntu 14.04系统下载地址:http://www.linuxidc.com/Linux/2014-04/100352.htm
如何在Ubuntu12.04/12.10中重装或修复Grub2引导 http://www.linuxidc.com/Linux/2012-11/74901.htm
Linux启动引导过程 grub和mbr http://www.linuxidc.com/Linux/2013-07/87923.htm
grub 的安装与使用 http://www.linuxidc.com/Linux/2013-07/87682.htm
grub引导程序配置文件分析 http://www.linuxidc.com/Linux/2013-07/87547.htm
CentOS 6.4 grub加密码 http://www.linuxidc.com/Linux/2013-07/87124.htm
Windows 7下硬盘安装Ubuntu 14.04图文教程 http://www.linuxidc.com/Linux/2014-04/100369.htm
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-10/108238.htm
grub2
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
即可启动系统。
这里的关键问题是如何确定系统的几个分区:/boot
/
/sbin
https://www.linuxidc.com/Linux/2014-10/108238.htm
https://man.linuxde.net/grub