有时候,由于操作不当将U盘或者移动硬盘插入到电脑的时候会变成RAW格式,不可读取,这样的话就杯具了,只能用恢复软件试试看。

但是,如果一开始进行了备份的话,处理起来就简单多了。

用winhex打开U盘,可以看到第一个扇区(512Byte)的情况:

如图所示:0x00-0x1BD为MBR的内容,这里不需要关注。

这里主要关注的是0x01BE-0x1FD的内容。

0x1FD的两个字节是分区结束标志(55AA)

分区表有16*4 = 64Byte,每一个分区占16个byte,一共有4个分区,其中,最多有4个主分区。

由于一般U盘只分一个分区,所以这里只关注一个。

可以看到,8020开始的就是第一个分区了。

下面是分区表的说明:

以这里的分区为例,

802021000CFEFFFF000800000038DD01

这一串是这个U盘的分区表数值。

下面把它拆开来:

80 202100 0C FEFFFF 00080000 0038DD01

80 活动分区
202100 起始CHS
0C FAT32
FEFFFF 结束CHS
00080000 已用扇区数
0038DD01 此分区总扇区数

下面来打开diskgenius来参照下吧:

因为格式还没搞清楚,下面先分析到这里。

下面来看怎么备份恢复分区表。

现在先在U盘里面新建一个记事本吧:

然后备份分区表,这里为了方便,把整个MBR一起备份,也就是第一个扇区被备份了:

先选中第一个扇区的内容,

选择编辑->复制选块->至新文件

然后就保存成功了。

接下来进行破坏吧。

点击确定后保存。这样就破坏完成了。接下来重新插拔U盘。

可以看到它已经完蛋了:

接下来恢复吧:

在已经打开的备份文件上点击右键->编辑->复制选快->正常

然后数据就在剪切板里面了。

在需要恢复的U盘第一扇区的0字节上点击右键->编辑->剪切板数据->写入,然后点击保存就ok了。

接下来重新插拔U盘,发现数据已经回来了:

目前还有可能的一种办法是根据文件系统大小来计算分区表的数据,这样就算没有备份分区表也可以搞定它了。

目前还没有搞清楚里面的计算方法。

备份U盘分区表,未雨绸缪的更多相关文章

  1. 备份u盘kali系统

    把kali系统装在u盘上,会带来极大的便利,只要有网有机就能随时随地hacking,但是u盘体积太小极易丢失,所以需要对其备份以备万一. 一般kali启动U盘分为两个区:启动区和文件存放区.如下图 我 ...

  2. 电脑无法开机,用一个U盘先备份C盘部分重要文件并重装Win10系统的教程?

    电脑无法开机,用一个U盘先备份C盘部分重要文件并重装Win10系统的教程.? 这应该是修电脑的万能方法,重装系统能解决绝大多数非硬件导致的电脑故障,但之前要备份一下桌面的一些个人文件.所以想学一下,以 ...

  3. ubuntu 更改U盘设备分区/dev/sdb4 标识

    备份u盘分区表 代码: sudo sfdisk -d /dev/sdb > sdb_table 修改sdb_table文件 代码: gedit sdb_table 恢复u盘分区表 代码: sud ...

  4. U盘装系统之winpe中常用安装win7的方法和备份(2013-01-15-bd 写的日志迁移

    首先到网上去下一个制作U盘启动的的软件比如老毛桃.大白菜.电脑城制作u盘启动软件[其实他们的装机界面和工具那些都差不多], 我是用的老毛桃至于制作流程你可以看它的视频你往下拉就可以看见,或者看说明,自 ...

  5. MBR分区表的备份与还原

    MBR分区表的备份与还原 MBR分区的存储 从下图可以看出,MBR分区前446字节是boot loader:接下来64字节是分区表:再然后就是三个主分区加一个拓展分区. 一.备份分区表,要跳过前446 ...

  6. 通过 U 盘启动重装 macOS 系统

    重装系统是工作和生活中经常需要做的事情,作为一名开发人员,学会该技能你才是一名合格的程序猿!以后再也不会遇到"程旭元你会装系统吗?"的尴尬了!本文主要介绍怎样通过U盘启动重新安装 ...

  7. 安装grub到U盘分区,实现多系统引导

    目录 1.分区工具及分区类型 1.1 显示分区表和分区信息 1.1.1 fdisk -l 1.1.2 gdisk -l 1.1.3 parted -l 1.2 常见分区类型 1.3 分区样例 1.3. ...

  8. linux--磁盘及文件系统管理

    磁盘管理 : 主流的磁盘 : 机械式硬盘 常见的有 : U盘, 光盘, 软盘, 硬盘, 磁带机 扇区 : sector 磁道 : track 柱面 : cylinder 磁盘出厂时 : 低级格式化 : ...

  9. Linux GPT分区表16进制实例分析

    Linux GPT分区表16进制实例分析 GPT分区表随着win10的普及,已经在越来越多的新电脑上开始使用了.前段时间的新闻有看到说Intel会在后面的新平台中完全取消CSM支持,这也大概相当于后面 ...

随机推荐

  1. 安装Yeoman

    先安装nodejs,我用的centos7,所以可以安装5的版本,如果不是请参考https://nodejs.org/en/download/package-manager/#enterprise-li ...

  2. TCP/IP详解--TCP首部选项中时间戳选项

    一.简介 TCP时间戳选项会在TCP包头增加12个字节,以一种比重发超时更精确的方法来启用对RTT 的计算.   二.作用 ) TCP时间戳位于TCP选项中,kind=:lenth=:data由tim ...

  3. Windows 网络问题

    一.问题描述 每次重启后电脑的ip地址或无故没掉,或不能正常连网,要重新设置ip才能上网.   二.解决方法 在DOS窗口执行 netsh winsock reset netsh int ip res ...

  4. 自定义input[type="radio"]的样式

    对于表单,input[type="radio"] 的样式总是不那么友好,在不同的浏览器中表现不一. 为了最大程度的显示出它们的差别,并且为了好看,首先定义了一些样式: <fo ...

  5. 迭代加深搜索 POJ 1129 Channel Allocation

    POJ 1129 Channel Allocation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 14191   Acc ...

  6. UESTC 918 WHITE ALBUM --生成树变形

    最小生成树变形. 题目已经说得很清楚,要求到达每个房间,只需求一个最小生成树,这时边权和一定是最小的,并且那k个房间一定与所有点都有通路,即一定都可以逃脱. 但是有可能当所有点都有了该去的安全房间以后 ...

  7. C#代码创建3D模型

    Demo 1:创建三角形 示例代码 构建一个只包含单个三角形及纹理坐标的网格 using UnityEngine; using System.Collections; public class Mes ...

  8. C#中treeview的问题,如何区分根节点和子节点以及根节点和根节点的兄弟节点?

    根节点的Level属性为0,一级子节点Level属性为1,二级子节点Level属性为2,以此类推:同级节点可以用索引.名称.文本来区分.用索引区分根节点时,TreeView.Nodes[0]就是第一个 ...

  9. isAnimated函数

    function isAnimated($obj){ var flag=false; if($obj.is(":animated")){ flag=true; } return f ...

  10. 通信vue2.0组件

    vue2.0组件通信各种情况总结与实例分析   Props在vue组件中各种角色总结 在Vue中组件是实现模块化开发的主要内容,而组件的通信更是vue数据驱动的灵魂,现就四种主要情况总结如下: 使用p ...