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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主