• 删除MBR分区如何使用光盘恢复


    1.备份MBR分区表

    dd  if=/dev/sda  of=/data/mbr.bak  bs=1  count=64  skip=446

    分区表前512字节分为三部分,第一部分446字节与启动相关 ,中间64字节为分区信息,后2字节为结束标志

    使用hexdump  -C  -n  512  /dev/sda  查看当前分区表结构

    2.远程传输备份信息到其他主机

    scp  /data/mbr.bak  root@10.0.0.89:/root

    分区表被破坏后是不能读取本机磁盘信息的,所以备份的分区表要存放在远程主机上

    3.破坏分区表447-510字节

    dd  if=/dev/zero  of=/dev/sda  bs=1  count=64  seek=446

    4.分区表被破坏时无法进入系统的,reboot重启

    此时界面会显示 grub rescue> 进入救援模式

    在虚拟机设置里改成光盘启动

    确认后按 CTRL+ALT+DEL 组合键重启虚拟机,注意鼠标光标要在虚拟机内,此时是看不见光标的,重启机器时按 ESC 键进入 BIOS 

    5.初始界面如图所示

     选择第三项光盘模式

     

    6.确认后使用光盘启动

     选择 Troubleshooting 排错

     选择第二项救援模式

     经过引导过程后进入该界面选择 1 continue 

    回车显示命令提示符

    输入 hexdump  -C  -n  512  /dev/sda  -v  可以发现分区表 447-510 字节被清空

    输入 hostname  -I 可以发现没有 IP 地址,需要临时配一个 IP 地址

    输入 ip  a  a  10.0.0.105/24  dev  ens33  临时配一个 IP 地址,使用 hostname  -I 可以看见已经有了 IP,ping  10.0.0.89 能够 ping 通

    7.将远程主机的分区备份文件拷到本机上

    scp  10.0.0.89:/root/mbr.bak  .

    输入 ls  -l  mbr.bak 可以看到该文件已经存在

    输入 dd  if=mbr.bak  of=/dev/sda  bs=1  seek=446 恢复分区表

    输入hexdump  -C  -n  512  -v  /dev/sda 可以发现分区表已经恢复

    8.重启虚拟机修复成功

    CTRL+ALT+EDL

     

  • 相关阅读:
    学习java随笔第二篇:java开发工具——Eclipse
    GDB
    【转】图像分割(Image Segmentation)
    [转]C#Windows窗体打开图像与保存
    【转】opencv 分水岭算法cvWatershed
    C#中Rectangle(Point, Size) 和Rectangle(Int32, Int32, Int32, Int32) 区别
    【转】数组和图像的转换
    .Net的垃圾回收机制(GC)之拙见——托管类型的垃圾回收
    【动态规划】滚动数组的求解(C++)
    C#编程语言之委托与事件(二)—— C#事件
  • 原文地址:https://www.cnblogs.com/shenyuanhaojie/p/12738748.html
Copyright © 2020-2023  润新知