人们在使用电脑时,有时由于异常操作,有时由于病毒侵袭,会导致某个分区消失或硬盘无法启动。究其原因,就是硬盘分区表受损。硬盘分区表可以说是支持硬盘正常工作的骨架。

最近学习磁盘分区表的备份与修复,特来分享硬盘引导修复,以作备忘。


第一种 利用其他主机进行备份修复

1.将硬盘sda的配置导出为文件sda_mbr.dd

[root@bbb ~]# dd if=/dev/sda of=/sda/sda_mbr.dd bs=512 count=1

1+0 records in

1+0 records out

512 bytes (512 B) copied, 0.000196248 s, 2.6 MB/s


2.将配置文件备份到其他机器 上(本次测试使用10.0.2.12)

[root@bbb ~]# scp /sda/sda_mbr.dd 10.0.2.12:/lianxi

root@10.0.2.12's password:

sda_mbr.dd                                    100%  512     0.5KB/s   00:00


3.将硬盘sda配置进行注销

[root@bbb ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1

1+0 records in

1+0 records out

213 bytes (213 B) copied, 0.0126084 s, 16.9 kB/s


4.再次查看sda 发现无法查看文件分区

[root@bbb ~]# fdisk -l /dev/sda

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


5.开机无法启动进入系统  安装界面 选第三个选项 营救系统

wKioL1NTzWjiuhDHAADdnRA9c0I671.jpg


6.按enter键下一步直到出现界面  选择yes设置上网(因为我们要连接10.0.2.12)

wKiom1NTzanSROlfAACCIS9hH5s872.jpg

7.跟随默认设置一直点yes,ok,这几步主要是设置网卡,ip之类的,我们使用默认即可.

选择continue进入

wKioL1NTzb6gIGpSAAE0e9dbQ8A558.jpg

8.选择shell  ok 下面会出现命令行

wKioL1NTzdnTmwSfAACEHP_Ar88269.jpg


wKioL1NTze_Qp-ahAADZ6FeMUoo275.jpg

我们将放在10.0.2.12内的sda配置文件复制到当前 然后导入道/etc/sda 进行reboot

即可完成营救系统

第二种

利用本机其他硬盘进行营救系统(本机的第二块磁盘为sdb)

1. 为本机的第二块硬盘分区

[root@bbb ~]# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

        switch off the mode (command 'c') and change display units to

        sectors (command 'u').


Command (m for help): n      

Command action

  e   extended

  p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-5221, default 1):

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-5221, default 5221): +5G


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.


格式化硬盘sdb的第一个分区

[root@bbb ~]# mkfs.ext4 /dev/sdb1


创建一个目录/sdb,将sdb1挂载到/sdb

[root@bbb ~]# mkdir /sdb

[root@bbb ~]# mount /dev/sdb1 /sdb

[root@bbb ~]# dd if=/dev/sda of=/sdb/sda_mbr.dd bs=512 count=1

1+0 records in

1+0 records out

512 bytes (512 B) copied, 0.000472493 s, 1.1 MB/s


3.将硬盘sda配置进行注销

[root@bbb ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1

1+0 records in

1+0 records out

213 bytes (213 B) copied, 0.0126084 s, 16.9 kB/s


4.再次查看sda 发现无法查看文件分区

[root@bbb ~]# fdisk -l /dev/sda

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


然后重启进入营救模式选择no

wKiom1NTzkjxLpGDAACCIS9hH5s244.jpg

选择continue

wKiom1NTzney3XVkAAE0e9dbQ8A690.jpg

进入shell模式

wKioL1NTzlriJgG4AABdMcApRkY446.jpg

dd if=/sdb/sda_mbr.dd of=/dev/sda bs=512 count=1

reboot重新引导修复赢主机


第一次写博客有很多不足 望海涵  

qq:1529940294

指导老师:一品刀客qq:695811769