grup修复与安装操作介绍

一、bgru Stage1的安装

    1、stage1存储在MBR的前446字节,首先破坏。使用dd命令

blob.png

    2、使用grub-install命令安装修复grub stage1

blob.png

    3、使用grub命令修复

blob.png


二、进入救援模式,修改grub

    1、先破坏grub stage

blob.png

 重启后无法正常开机

blob.png

    2、使用安装光盘,进入修改模式

blob.png

blob.png

blob.png

blob.png


三、为现有的linux添一个磁盘,并安装grub,完成把此磁盘从此linux虚拟机移除,创建新的虚拟机使用此磁盘

    添加磁盘

blob.png

    成功添加磁盘,并完成分区及格式化操作

blob.png

blob.png

       在/mnt目录下创建boot子目录,并挂载到/dev/sdb1,创建testroot 子目录,并挂载到/dev/sdb3

[root@localhost ~]# mkdir /mnt/{boot,testroot}
[root@localhost ~]# mount /dev/sdb1 /mnt/boot/
[root@localhost ~]# mount /dev/sdb3 /mnt/testroot
[root@localhost ~]#

    安装grub到/mnt/boot目录下

[root@localhost ~]# grub-install --root-directory=/mnt /dev/sdb    //这里的--root-directory=/mnt是boot的父目录
Probing devices to guess BIOS drives. This may take a long time.
Installation finished. No error reported.
This is the contents of the device map /mnt/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
 
(fd0)	/dev/fd0
(hd0)	/dev/sda
(hd1)	/dev/sdb
[root@localhost ~]#

    完成安装

blob.png

把内核及initramfs复制到/mnt/boo目录下,并命名为vmlinuz及initramfs,以及创建grub.conf配置文件

blob.png

    在/dev/sdb3上创建完整的根目录、复制/bin/bash及/bin/bash的库文件到/mnt/testroot/下相应的位置

[root@localhost /]# mkdir /mnt/testroot/{bin,dev,home,lib64,media,opt,root,sys,usr,etc,lib,mnt,proc,sbin,srv,tmp,var}
[root@localhost /]# ls /mnt/testroot/
bin  etc   lib    lost+found  mnt  proc  sbin  sys  usr
dev  home  lib64  media       opt  root  srv   tmp  var
[root@localhost /]# cp /bin/bash /mnt/testroot/bin/
[root@localhost /]# ldd /bin/bash 
	linux-vdso.so.1 =>  (0x00007fff2a841000)
	libtinfo.so.5 => /lib64/libtinfo.so.5 (0x0000003f58800000)
	libdl.so.2 => /lib64/libdl.so.2 (0x0000003f4dc00000)
	libc.so.6 => /lib64/libc.so.6 (0x0000003f4e000000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003f4d800000)
[root@localhost /]# cp /lib64/libtinfo.so.5 /mnt/testroot/lib64/
[root@localhost /]# cp /lib64/libdl.so.2  /mnt/testroot/lib64/
[root@localhost /]# cp /lib64/libc.so.6  /mnt/testroot/lib64/
[root@localhost /]# cp /lib64/ld-linux-x86-64.so.2 /mnt/testroot/lib64/
[root@localhost /]#

创建新的虚拟机,并使用/dev/sdb这个磁盘

blob.png

    完成后重启便可进入系统 

blob.png


原创文章,作者:Net20-deamon,如若转载,请注明出处:http://www.178linux.com/17523

赞 (0)
Net20-deamonNet20-deamon
上一篇 2016-06-03 15:03
下一篇 2016-06-04 14:14

相关推荐

  • 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;grep “^[[:space:]]+”  /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;[root@localhost ~…

    Linux干货 2017-03-10
  • shell脚本编程之循环语句

      在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的。 一、for命令   格式:for 变量 in 列表;do          循环体       done   for命令会遍历列表中的每一个值,并且在遍历完成…

    Linux干货 2016-01-03
  • 马哥教育网络班19期第十二周课程练习

    1、请描述一次完整的http请求处理过程; 一次完整的http请求处理过程如下: (1) 建立或处理连接:接收客户端的请求,建立连接,或是拒绝其请求 (2) 接收请求: 接收来自于网络的请求报文中对某资源的一次请求的过程时,web服务器也分几种模型对并发请求进行响应:             &nb…

    Linux干货 2016-08-11
  • sed文本编辑工具

    用法:sed[option]… ‘script’ inputfile…常用选项:-n:不输出模式空间内容到屏幕,即不自动打印-e: 多点编辑-f:/PATH/SCRIPT_FILE: 从指定文件中读取编辑脚本-r: 支持使用扩展正则表达式-i.bak: 备份文件并原处编辑script:‘地址命令…

    Linux干货 2017-05-02
  • 马哥教育网络班21期-第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash m=0 n=0 for i in `awk -F: '{print $NF}'&nb…

    Linux干货 2016-09-15
  • bind-9.9.5编译安装

    bind-9.9.5编译安装 §·bind-9.9.5编译安装大概步骤 步骤一 :下载源码包bind-9.9.5 ; 步骤二 :按需求选择模块或功能 ./configure ;  # ./configure  –prefix=/usr/local/bind9  –sysconfdir=…

    Linux干货 2016-10-09

评论列表(1条)

  • nice_neo_linux
    nice_neo_linux 2016-06-03 16:45

    可以教教我怎么简单排版这样的博客吗?