linux下恢复硬盘分区数据

2024-03-15 05:58

本文主要是介绍linux下恢复硬盘分区数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天下午在linux 下删除操作,想安装oracle 数据库,整理硬盘的时候用fdisk 重新划分分区,我的硬盘分区表是这样的:
QUOTE
# fdisk -l /dev/hda
Disk /dev/hda
82.3 GB 82348277760 bytes 255 heads 63 sectors/track 10011 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device
 Boot  Start   End    Blocks   Id  System /dev/hda1  *    1    1044   8385898+   7  HPFS/NTFS  C/dev/hda2    1045    1057   104422+   83  Linux  /boot /dev/hda3    1058    1249  1542240   82  Linux swap /dev/hda4    1250    10011 70380765   f  W95 Extd LBA
/dev/hda8
   1250    2032   6289384+   83  Linux  /usr /dev/hda9    2033    2293   2096451   83  Linux  /tmp /dev/hda10    2294    2554   2096451   83  Linux  /var /dev/hda11    2555    2746   1542208+   83  Linux  / /dev/hda12    2747    3046   2409718+   83  Linux  /home /dev/hda5    3047    3189   1025860+   83  Linux not used /dev/hda6    3190    3380   2048108+   83  Linux not used /dev/hda7    3381    3670   2048108+   83  Linux not used /dev/hda13    3671   6287    21021021   b  W95 FAT32 D/dev/hda14    6288   10011   29912998+   b  W95 FAT32 E :我想把第567 分区删除然后重新建立两个分区,分别安装oracle 数据库程序文件和数据库文件,我用fdisk 是这样操作的:
QUOTE
# fdisk /dev/hda
The number of cylinders for this disk is set to 10011. There is nothing wrong with that
but this is larger than 1024and could in certain setups cause problems with1 software that runs at boot time e.g. old versions of LILO
2
booting and partitioning software from other OSse.g. DOS FDISK OS/2 FDISK
Command
m for help ): d Partition number 1-13 ): 5
Command
m for help ): d Partition number 1-12 ): 6
Command
m for help ): d Partition number 1-11 ): 7
Command
m for help ): w 退出fdisk 后才发现删错了,竟然把第579 分区删除了!其中hda928G ,里面存了好多有价值的东西,难受死我了!这才想起来fdisk 在每一次删除分区后都会自动把后面的分区重新排序,即:删除第5 分区时,第6 分区变成5 ,第7 分区成为6……
郁闷!……
天无绝人之路:我想到今天早上刚刚把hda 的分区表备份了,并且放到了其它分区!也没有细想,把那个备份拿过来就开始恢复硬盘分区(别笑话我啊):
QUOTE
#dd if=hda-2006-03-21.mbr of=/dev/hda bs=512 count=1 #reboot 重启电脑用fdisk 再看分区表—— 没有效果!
怎么回事?从分区表开始想—— 太简单了—— 分区表只有512 字节,其中只有64 字节存储分区信息,开始的时候硬盘容量很小,64 字节够用了,后来随着硬盘空间增大显得不够了,因此开始有了扩展分区,而我删除的分区正好都在扩展分区内!恢复mbr 肯定是不行的了!
怎么办啊!!!从硬件管理器盯着我的hda 看了半天!发现我删除的分区都是几个独立的空间,就想能不能重新建立我的逻辑分区表来恢复分区内容呢???一不做二不休,反正没有别的办法了,试试吧!
QUOTE
# fdisk /dev/hda
The number of cylinders for this disk is set to 10011. There is nothing wrong with that
but this is larger than 1024and could in certain setups cause problems with1 software that runs at boot time e.g. old versions of LILO
2
booting and partitioning software from other OSse.g. DOS FDISK OS/2 FDISK
Command
m for help ): n First cylinder 3047-10011 default 3047 ):Using default value 3047 Last cylinder or +size or +sizeM or +sizeK 3047-3189default 3047 ):Using default value 3047
Command
m for help ): n First cylinder 3381-10011 default 3670 ):Using default value 3670 Last cylinder or +size or +sizeM or +sizeK 3381-3670 default 3670 ):Using default value 3670
Command
m for help ): n First cylinder 6288-10011 default 628Using default value 6288 Last cylinder or +size or +sizeM or +sizeK 6288-10011 default 10011 ):Using default value 10011
Command
m for help ): t Partition number 1-14 ): 14 Hex code type L to list codes ): b
Command
m for help ): w 接下来该干什么呢?按照常规应该是mkfs.vfat 啦!可是为什么呢?如果只是建立分区表来恢复数据,那么这么做不就是重新建立文件分配表了吗?!绝对不行

这篇关于linux下恢复硬盘分区数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/811008

相关文章

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p

使用MyBatis TypeHandler实现数据加密与解密的具体方案

《使用MyBatisTypeHandler实现数据加密与解密的具体方案》在我们日常的开发工作中,经常会遇到一些敏感数据需要存储,比如用户的手机号、身份证号、银行卡号等,为了保障数据安全,我们通常会对... 目录1. 核心概念:什么是 TypeHandler?2. 实战场景3. 代码实现步骤步骤 1:定义 E

使用C#导出Excel数据并保存多种格式的完整示例

《使用C#导出Excel数据并保存多种格式的完整示例》在现代企业信息化管理中,Excel已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开Excel,本文... 目录引言1. 安装 Spire.XLS2. 创建工作簿和填充数据3. 保存为不同格式4. 效果展示5

Python多任务爬虫实现爬取图片和GDP数据

《Python多任务爬虫实现爬取图片和GDP数据》本文主要介绍了基于FastAPI开发Web站点的方法,包括搭建Web服务器、处理图片资源、实现多任务爬虫和数据可视化,同时,还简要介绍了Python爬... 目录一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务

MySQL 批量插入的原理和实战方法(快速提升大数据导入效率)

《MySQL批量插入的原理和实战方法(快速提升大数据导入效率)》在日常开发中,我们经常需要将大量数据批量插入到MySQL数据库中,本文将介绍批量插入的原理、实现方法,并结合Python和PyMySQ... 目录一、批量插入的优势二、mysql 表的创建示例三、python 实现批量插入1. 安装 PyMyS