Linux MBR扇区误删恢复
目录
如果MBR分区表没了,你有备份的话直接恢复就好。如果没有...恭喜你。。。 如果是前446字节的引导记录丢了,你有备份的话,直接恢复就好。如果没有,那就从另一台相同的主机上cp一份就好了。 我这里使用虚拟机进行测试。 1. 引导记录误删恢复我这里用CentOS7系统操作(一块硬盘) 1.1 备份引导记录[[email?protected] ~]# dd if=/dev/sda of=/loader.back bs=446 count=1 1+0 records in 1+0 records out 446 bytes (446 B) copied,0.00021032 s,2.1 MB/s [[email?protected] ~]# ls -lh /loader.back -rw-r--r-- 1 root root 446 Apr 8 21:07 /loader.back 1.2 误删引导记录[[email?protected] ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1 1+0 records in 1+0 records out 446 bytes (446 B) copied,0.000247003 s,1.8 MB/s # 然后重启 [[email?protected] ~]$ reboot 1.3 恢复引导记录哟,进不去了。 (1)关闭主机,然后挂载光盘 (2)进入BIOS,反正不是f2就是f12,或者Delete,设置优先级,然后f10保存 记得这个是亮的啊。。。不是就右键连接 (3)进入修复模式 当然选1咯 直接回车 系统已经被挂到/mnt/sysimage/下了,进去把。 如果这一步你chroot进不去...可能是你的分区表坏了,或者其他原因。 (4)恢复mbr引导记录 bash-4.2# dd of=/loader.back of=/dev/sda bs=446 count=1 然后退出(exit),重启(reboot)(记得把BIOS启动顺序改回来,为Hard Drive第一个,这一步我就不截图了) 然后...就没然后了,就好了。
2. 分区表误删恢复我这里用CentOS7系统操作(一块硬盘)。 对于分区表,如果你做了备份,那没问题。如果没有备份...我也不知道咋解决了。。。 2.1 备份分区表[[email?protected] ~]# dd if=/dev/sda of=/root/partition_table.back skip=446 bs=64 count=1 1+0 records in 1+0 records out 64 bytes (64 B) copied,0.00020132 s,318 kB/s 注意了啊,这个备份文件一定是备份在远程服务器的,因为你的分区表已经坏了,找都找不到了。你存在本地有何意义。。。 2.2 误删分区表[[email?protected] ~]$ dd if=/dev/zero of=/dev/sda skip=446 bs=64 count=1 [[email?protected] ~]$ reboot 哟。。。又坏了。 2.3 恢复分区表# 1. 将磁盘卸载 # 2. 将磁盘挂载到远程服务器 # 3. 然后用dd恢复 [[email?protected] ~]# ls partition_table.back # 我这是远程服务器 [[email?protected] ~]# dd if=./partition_table.back of=/dev/sdb seek=446 bs=64 count=1 1+0 records in 1+0 records out 64 bytes (64 B) copied,0.00102179 s,62.6 kB/s 然后,就可以卸载磁盘,放回原来的服务器里。 然后。 这。。。出毛病了。。。 是不是引导记录出毛病了。。。我赶紧将磁盘插回远程服务器,然后 看了看,原来是命令搞错了。。。再2.2 误删分区表这一步命令敲错了。skip是跳过输入文件的block,而seek才是跳过输出文件的block,所以我那一步其实是删除了引导记录。。。 其实把,你以后直接使用 最后,虽然这是在虚拟机上做的,但在真实环境,确实是这样的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |