linux中如何备份和恢复磁盘分区表

linux中如何备份和恢复磁盘分区表如何备份和恢复分区表0磁道的0扇区512字节包含主引导程序占446字节主分区表占64字节和结束位(2字节)如果0扇区损坏或者破坏能造成很严重的后果,我们备份一下0扇区。备份扇区[root@centos7~]#ddif=/dev/sdaof=/app/mbrbs=1count=512512+0recordsin512+0recor

大家好,又见面了,我是你们的朋友全栈君。

如何备份和恢复分区表

  • 0磁道的0扇区512字节包含
    • 主引导程序占446字节
    • 主分区表占64字节
    • 和结束位(2字节)
  • 如果0扇区损坏或者破坏能造成很严重的后果,我们备份一下0扇区。

    备份扇区

[root@centos7 ~]# dd if=/dev/sda of=/app/mbr bs=1 count=512 
512+0 records in  
512+0 records out  
512 bytes (512 B) copied, 0.00279983 s, 183 kB/s  
[root@centos7 app]# ll mbr 
-rw-r--r--. 1 root root 512 Dec  2 17:04 mbr
  • mbr是备份的扇区文件,当然绝对不要存在本机,因为当分区表被破坏是完全看不见分区的,也查看不了文件,所以我们把分区放在另一 台设备上。

    将备份文件传到另一台机器上

[root@centos7 app]# scp mbr 192.168.27.128:/app/
root@192.168.27.128's password: mbr 100% 512 315.4KB/s 00:00 
  • 这样就把备份文件传到192.168.27.128 上的/app目录下了。

破坏主分区表

[root@centos7 app]# dd if=/dev/zero of=/dev/sda bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.00105923 s, 483 kB/s
  • 我们用零填充sda第0扇区的512个字节
  • 这样我们用fdisk -l 命令查看一下sda分区信息和用二进制查询命令查一下
[root@centos7 app]# hexdump -C -n 512 /dev/sda 
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|  
*
00000200  
[root@centos7 app]# fdisk -l 

Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400   sectors  
Units = sectors of 1 * 512 = 512 bytes   
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
  • 我们现在看到已经没有分区信息了,重启一下机器
  • 开机进入求援模式,然后可以把之前备份好的文件放u盘上挂载到系统上,然后用命令恢复
# dd if=./mbr of=/dev/sda bs=1 count=512 

然后重启系统就好啦。
当然也可以直接把硬盘拆下了挂载到备份的机器上,进行恢复。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140353.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 温故知新-SpringCloud架构图(总结)[通俗易懂]

    温故知新-SpringCloud架构图(总结)[通俗易懂]最近学习了SpringCloud相关的知识点,使用下图来做一个知识总结,如果有相关的疑问,欢迎各位同学指出????:

    2022年5月20日
    32
  • c#中Invoke方法

    c#中Invoke方法invoke方法的初衷是为了解决在某个非某个控件创建的线程中刷新该控件可能会引发异常的问题。说的可能比较拗口,举个例子:主线程中存在一个文本控件,在一个子线程中要改变该文本的值,此时会有可能引发异常。为了避免该问题,需要在子线程中使用invoke方法来封装刷新文本内容的函数。Invoke或者BeginInvoke去调用,两者的区别就是Invoke会导致工作线程等待,而BeginIn

    2022年6月12日
    50
  • 继承、super、this、抽象类

    继承、super、this、抽象类

    2021年5月19日
    109
  • Element 修改 table 里面的滚动条样式

    不考虑兼容的时候,可以全局设置成这种样式修改全局滚动条样式<style>/*定义滚动条高宽及背景高宽分别对应横竖滚动条的尺寸*/::-webkit-scrollbar{width:6px;/*滚动条宽度*/height:8px;/*滚动条高度*/background-color:white;}/*定义滑块内阴影+圆角*/::-webkit-scrollbar-thum.

    2022年4月9日
    456
  • python 京东签到在哪里_python 使用selenium登陆京东签到哪京豆

    python 京东签到在哪里_python 使用selenium登陆京东签到哪京豆[Python]纯文本查看复制代码#coding:utf8fromseleniumimportwebdriverimporttimedefsign_up():url=r’https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fvip.jd.com%2F’dr=webdriver.Firefox()#dr=…

    2022年9月14日
    1
  • 根据两点的经纬度计算距离_经纬度两点距离

    根据两点的经纬度计算距离_经纬度两点距离问题提出目前手头的一个项目要用到GPS地理定位信息,很自然的就需要知道两个地点之间的距离,于是上网找了一下。背景知识这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作“赤道”。在赤道的南北两边,画出许多和赤道平行的圆圈,就是“纬圈”;构成这些圆圈的线段,叫做纬线

    2022年9月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号