linux分区表被破坏,不用怕

我接下要说的只适应于MBR分区,如果是GPT分区的请略过。

大家都知道MBR分区的0扇区0磁道是有特殊的功用;

前446个字节是启动的引导记录,后64个字节为磁盘的分区记录,最后的2个字节为磁盘结束的标志位55aa。

那意味着我破坏了后64个字节那系统引导完就找不到分区了,直接导致无法启动系统,那我们来搞破坏吧;

下面就是0磁道0扇区的512个字节;

[[email protected]_7 script]# hexdump -C  /dev/sda  -n 512
00000000  eb 63 90 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |.c..............|
#省略
00000160  61 ff 26 5a 7c be 80 7d  eb 03 be 8f 7d e8 34 00  |a.&Z|..}....}.4.|
00000170  be 94 7d e8 2e 00 cd 18  eb fe 47 52 55 42 20 00  |..}.......GRUB .|
00000180  47 65 6f 6d 00 48 61 72  64 20 44 69 73 6b 00 52  |Geom.Hard Disk.R|
00000190  65 61 64 00 20 45 72 72  6f 72 0d 0a 00 bb 01 00  |ead. Error......|
000001a0  b4 0e cd 10 ac 3c 00 75  f4 c3 00 00 00 00 00 00  |.....<.u........|
000001b0  00 00 00 00 00 00 00 00  f6 4a 00 00 00 00 80 20  |.........J..... |
000001c0  21 00 83 35 70 05 00 08  00 00 00 00 40 00 00 35  |[email protected]|
000001d0  71 05 83 fe ff ff 00 08  40 00 00 00 c0 03 00 fe  |[email protected]|
000001e0  ff ff 82 fe ff ff 00 08  00 04 00 00 00 01 00 fe  |................|
000001f0  ff ff 05 fe ff ff 00 08  00 05 00 f8 3f 01 55 aa  |............?.U.|
00000200

红色80开始就表示分区表,80开头表示活动分区的意思,00是非活动,先备份一下分区表先;

[[email protected]_7 script]# dd if=/dev/sda of=/data/mbr bs=1 count=66 skip=446
66+0 records in
66+0 records out
66 bytes (66 B) copied, 0.000410346 s, 161 kB/s

查看一下分区表是否备份成功,一定要记得把分区表拷到别外的系统当中来。

[[email protected]_7 script]# hexdump -C /data/mbr
00000000  80 20 21 00 83 35 70 05  00 08 00 00 00 00 40 00  |. [email protected]|
00000010  00 35 71 05 83 fe ff ff  00 08 40 00 00 00 c0 03  |[email protected]|
00000020  00 fe ff ff 82 fe ff ff  00 08 00 04 00 00 00 01  |................|
00000030  00 fe ff ff 05 fe ff ff  00 08 00 05 00 f8 3f 01  |..............?.|
00000040  55 aa                                             |U.|
00000042

备份已成功,内容与上面的一致;

下面的意思是从/dev/zero中读取66个字节写入到/dev/sda当中,在写入的过程中跳过446个字符;

[[email protected]_7 script]# dd if=/dev/zero of=/dev/sda bs=1 count=66 seek=446
66+0 records in
66+0 records out
66 bytes (66 B) copied, 0.000251386 s, 263 kB/s

这时分区已死,再次查看已看不到分区表了;

[[email protected]_7 script]# hexdump -C  /dev/sda  -n 512
00000000  eb 63 90 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |.c..............|
#省略
00000160  61 ff 26 5a 7c be 80 7d  eb 03 be 8f 7d e8 34 00  |a.&Z|..}....}.4.|
00000170  be 94 7d e8 2e 00 cd 18  eb fe 47 52 55 42 20 00  |..}.......GRUB .|
00000180  47 65 6f 6d 00 48 61 72  64 20 44 69 73 6b 00 52  |Geom.Hard Disk.R|
00000190  65 61 64 00 20 45 72 72  6f 72 0d 0a 00 bb 01 00  |ead. Error......|
000001a0  b4 0e cd 10 ac 3c 00 75  f4 c3 00 00 00 00 00 00  |.....<.u........|
000001b0  00 00 00 00 00 00 00 00  f6 4a 00 00 00 00 00 00  |.........J......|
000001c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

可以看到在最后的66个字节全部都不一样了,但是因为分区表现在已经加载至内存当中。需要重启破坏才能生效;

重启后可以看下已经找不到硬盘了;

这时用光盘启动,进入救援模式,这时会加载一个小型的linux系统。就跟windows加载了一个PE一样;

这时会出现情形:

1.进出系统里配置地址,把原来备份的文件传送到系统当中来。用dd命重新写入;

2.无法启动网络服务,我遇到了这一种情况。我着重说下这个。

  在备份机器上用hexedit 打开t备份好的mbr,在分区丢失的机器打开一个mbr,对照着原来的分区表把分区的16进制代码一个个写入。最后用hexdump -C 文件来查看是否写之前的一致;#hexedit是编辑16进制的一个工具,如果没有的需要安装;

  最后用dd if=mbr of=/dev/sda bs=1 seek=446 这样子把分区表还原回去。

最后重启系统ok。

原文地址:https://www.cnblogs.com/suyingjie/p/11678295.html

时间: 2024-10-19 06:23:35

linux分区表被破坏,不用怕的相关文章

脚底长鸡眼,不用怕,我用一顿饭的钱解决了四个月鸡眼带来的困扰

鸡眼的形成不全是由于走路走多了,反正我就还不是. 我下面用自己前一段时间完全去除脚底的鸡眼方法分享给有需要的人. 就在我还不知道鸡眼是啥东西之前,脚底小脚趾和旁边一个脚趾之间长了个皮特厚的玩意. 有一次,朋友喊我去洗脚店,那边的大叔和我说这是鸡眼.(之前走路会痛,大概长了三个月) 于是,我就开始了和鸡眼作斗争的一个月. 1.我先去普通药店买了普通的一盒鸡眼膏,那会一贴贴半天(破皮了不能贴),回去发现皮厚的地方变白了,晚上用热水洗个脚,隔了一两天继续贴,后来整块外部的皮都掉了(这是去鸡眼的第一步,

做网站没技术不用怕,我用建站宝盒,动手速成网站!

90后迷茫小伙子创业,是思维成就了我未来 我是一名90后男生,刚毕业不久,出来找工作,刚开始进厂工作1个月,发现自己堂堂大学生为什么要进厂工作呢?于是今年,我开始接触互联网,发现帮人家做网站是能赚那么多钱的.从而我走上创业之路. 我刚开始做一个网站,觉得好难啊.哎,还是找公司帮忙做网站吧.通过百度一下"网站建设",找到一些公司给我网站报价,像在线下订单,会员管理,在线付款这些常用的商务功能都要有,反馈回来的报价都是五六千,七八千的,我想那么贵,我还是自己做吧,想了想,有没有什么智能建站

Ubuntu抛弃了Untiy转向Gnome,美化之路怎么办?不用怕咱一步一步大变身!

跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 常用软件安装+系统软件卸载:http://www.cnblogs.com/dunitian/p/6670560.html 1.下载UnityGnome版本 https://wiki.ubuntu.com/UbuntuGNOME/GetUbuntuGNOME 2.打开终端 or Ctrl+Alt+T 3.先简单更新一下 4.打开gnome-tweak-tool(自带,在工具里面

scp在Linux主机之间复制不用输入密码

把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中,假设本地主机linux(10.1.1.1),远程主机linux(10.1.1.2) 一,在linux100主机里的用户 运行 #ssh-keygen -t rsa 结果如下 Generating public/private rsa key pair. Enter file in which to save the key (/home/.username/ssh/id_rsa):#回车 E

微信平台抽奖算法总结-再也不用怕奖品被提前抢光

前言 但凡商户搞点营销活动,为了能触达更多的顾客,来点儿抽奖的把戏,应该是极好的,什么“刮刮乐”.“砸金蛋”.“大转盘”等等,换汤不换药,屡试不爽.从微客多营销平台各种活动的使用情况也能看出,抽奖活动一直是商户用得最多的线上活动,正所谓无利不起早,给点“花蜜”犒劳下“蜜蜂”也是应该的. 需求分析 那么问题来了,发奖机制怎么玩?作为一个服务商户的营销平台,怎样将商户配置的奖品发出去才能起到比较好的效果呢? 先来看目标,什么是比较好的效果,也就是用户(商户)的需求是什么: 抽奖活动期间奖品数量是固定

windows远程linux的方法(不用xshell)

先cmd进入DOS,再输入命令ssh [email protected]要远程的linux的ip 输入密码 即可进入linux后台.如下图,即为edr后台,可以见到unabackup服务了. 如果是多次远程不同IP,第二次远程时会报错,需要删除这个文件,删除后再远程就可以了,如下图. C:\Users\lizhihui\.ssh 原文地址:https://www.cnblogs.com/shttke/p/11105270.html

linux 下 mysql 安装(不用编译的方式)

环境是centos6.x.相信其他的也大同小异.相对来说这种方式我用的比较多. 一些环境依赖表库: yum install perl yum install libaio 1)下载:在mysql的网站上,下载 mysql-5.6.13-linux-glibc2.5-x86_64.tar.gz我的百度下载地址:http://pan.baidu.com/s/1o8NDHUi 如链接无效,可联系我.比如拷贝到 /tmp 目录下.2)解压:[[email protected] local]#cd /us

【PPT版】Linux命令基础【不用看书走遍天下】

忘记WiFi密码不用怕,一个命令轻松查看你连接过的所有WiFi及密码!

1.在运行窗口中输入"cmd",然后回车,进入命令提示符界面 2.复制以下命令行然后回车 for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do  @echo%j | findstr -i -v echo | netsh wlan show profiles %j key=clear 注意:复制时命令中的空格一定不能少.复制不成功的,大家可以在电脑上自己搜索这个命令. 4.窗