Ubuntu中利用Grub 2修复移动硬盘引导

转载 2013年05月19日 17:17:26

grub 2的安装需要安装以下包:

        grub-pc, grub-common

可以在包管理工具中发现。

 

grub-install -v来查看当前版本, 传统的grub版本号为0.97及以下, grub2的版本号是1.96或更高。

 

grub 2的配置文件是/boot/grub/grub.cfg, 但是这个文件是不允许修改的,我们要通过对/etc/grub.d/下的文件以及/etc/default/grub文件进行编辑,使用update-grub来生成配置文件。

 

也就是说, 一个正常的流程应该是:

sudo apt-get install grub-pc, grub-common    #如果已经安装了grub2则不需要

sudo grub-install --root-directory=/ /dev/sda    #在设备上安装grub2引导

sudo update-grub  #生成grub配置文件

 

现在的问题就在update-grub,因为grub-install是可以指定设备来进行安装的, 但是生成配置文件的update-grub是不能指定的。

whereis update-grub

查找到它在/usr/sbin/目录下, 编辑发现它是对grub-mkconfig做的一个快捷方式,代码如下
#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

那我们就继续来查看grub-mkconfig的代码(下面仅截取前面的关键目录定义部分)

prefix=/usr
exec_prefix=${prefix}
sbindir=${exec_prefix}/sbin
libdir=${exec_prefix}/lib
sysconfdir=/etc
PACKAGE_NAME=GRUB
PACKAGE_VERSION=1.98+20100804-5ubuntu3
host_os=linux-gnu
datarootdir=${prefix}/share
datadir=${datarootdir}
pkgdatadir=${datadir}/`echo grub | sed "${transform}"`
grub_cfg=""
grub_mkconfig_dir=${sysconfdir}/grub.d

可以看出在这里它定义了路径,其中sysconfdir指定了系统配置文件路径,经过简单核对后面代码,它就是使用这个目录下的grub.d/*和default/grub来生成配置文件的。。。

那么,我们就可以对sysconfdir进行一个修改, 让它指向要修复的移动硬盘的etc目录下,然后运行

sudo grub-mkconfig -o /自定义路径/grub.cfg

这样就会在“/自定义路径/”下生成了grub.cfg

 

当然,此时还是有问题的, 因为现在查找到的系统是将目前操作系统所在硬盘作为主硬盘扫描的,所以,对grub.cfg中操作系统设置的部分进行一个照猫画虎的修改就可以了,修改这部分主要关注的是系统内核版本和设备

ls -l /dev/disk/by-uuid #查看所有设备的uuid

ls -l {要修复的硬盘挂载点}/boot       #查看可用内核

 

好了,到此,将这个修改后的grub.cfg移动到“{要修复的硬盘挂载点}/boot/grub/”, 重启以目标硬盘引导。。

 

我的到这里就成功了....忽忽,关于/etc/grub.d/*和/etc/default/grub的配置,本文没有提到,可以参阅https://help.ubuntu.com/community/Grub2#/etc/default/grub


相关文章推荐

免刻盘,U盘移动硬盘引导安装UBUNTU

U盘或者移动硬盘 可以GRUB引导的,相信很多朋友都有,下面是我用U盘引导安装UBUNTU系统的步骤, 它不局限于安装,今后还可以用它来修复 笔者优盘是装有winPE的,所以能启动gu...

GRUB2硬盘引导Ubuntu14.04LTS镜像

GRUB2硬盘引导Ubuntu14.04LTS镜像GRUB2硬盘引导Ubuntu1404LTS镜像 准备工作 通过GRUB2启动到LIVE CD 设置grub的root 创建loopback来加载镜像...
  • x13945
  • x13945
  • 2016年04月22日 12:31
  • 528

移动硬盘引导-linux系统安装笔记

移动硬盘引导-linux系统安装笔记 maomaovv 2009-5-23 参考资料来自互联网工作原理:从移动硬盘启动,通过grub引导linux系统安装,废话少说,开工:1. 对移动硬盘分区格式化:...

ubuntu安装到移动硬盘 & grub rescue问题解决

想好好折腾linux, 选择ubuntu入手, 但想到linux下配置啥的挺麻烦, 装个系统最好能长久用下去, 于是就将ubuntu安装到移动硬盘上, 这样到哪都好用了. 如何在ubuntu安装...

程序员修电脑必备: 使用Grub2制作一个多系统(WinPE与Linux, Android X86)启动的维护移动硬盘和U盘

说明 多台计算机安装了不同的系统(Windows, Linux, MacOS), 因为种种因素不得不对系统重新安装, 每一次都是重新制作启动和维护移动存储设备, 为了节省时间, 考虑制作一个即可启动和...

如何在移动硬盘上安装Ubuntu系统(2)

4.安装系统(1)进入U盘启动的界面 (2)选择桌面的安装 Ubuntu 系统 选择语言 先暂时不用连接WIFI 第二个选项打勾 选择 其他选项 【注意啦~! 关...

没有光驱,利用虚拟机把Linux(Ubuntu)安装到移动硬盘的方法

我在前面一篇文章“没有光驱和软驱,利用Ubuntu启动U盘安装DOS和WindowsXP”中说到,可以在移动硬盘中安装一个Ubuntu系统。但是其中提到“把Ubuntu的ISO文件烧录到移动硬盘的一个...

硬盘引导ISO安装Ubuntu

硬盘引导安装ubuntu
  • retinal
  • retinal
  • 2011年01月07日 01:03
  • 2877

硬盘引导安装ubuntu12.04

1、最近上项目上需要使用UBUNTU编译比较大的工程,虚拟机感觉有点慢,就琢磨着装个双系统。废话少说,直接进入主题,先腾出一个硬盘空间,一般来讲肯定将你XP中的最后一个盘格掉并删除逻辑分区,我留了10...
  • gqs519
  • gqs519
  • 2012年08月02日 17:32
  • 949
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ubuntu中利用Grub 2修复移动硬盘引导
举报原因:
原因补充:

(最多只允许输入30个字)