一次硬盘分区被破坏的经历(主要和数据、分区恢复,启动、安装盘制作有关)

破坏的过程:
我的电脑是双系统,Windows8.1和Ubuntu14.04。。当时我在ubuntu下玩一些和硬盘有关的命令,用fdisk命令去对分区进行处理,当时就发现硬盘上还有几M的空闲空间,,就顺手把这空闲的空间给分区了,结果重启电脑ubuntu就进不去了,黑屏提示有rescue>,也在网上找了一些教程处理没多大用。。。

修复的过程:

一,也不能完全说是修复,,因为windows系统是完全恢复了,ubuntu却重新装了,如果重来一遍应该都不会重装^+^。。

在发现多数网上的教程无效后,,就试着制作了一个ubuntu  live usb,就是可以从优盘启动ubuntu并可以试用,,这里把制作的过程说一下(有些图片不是本人提供的,引用自linux公社,但是亲试是一样的,故障可以参看下面的注意):

1,所需要的东西:UltraISO软件和ubuntu光盘镜像.iso文件。。

2,安装好UltraISO软件,并插入优盘,点击UltraISO的“文件”选项卡,打开.iso文件,然后点击“启动”选项卡--->写入硬盘映像,如图1所示。

U盘启动安装Ubuntu 13.04

图1 制作ubuntu  live  usb

接着会弹出一个窗口,如图2所示。


U盘启动安装Ubuntu 13.04

图2 选择写入硬盘映像的方式

在图2中(网上当的),硬盘驱动器选择你所使用的优盘(只有一个优盘的情况下会主动识别),映像文件:会主动识别,写入方式:一般选择默认的USB-HDD+,然后选择格式化,就是图2中被企鹅遮住的那部分,选择文件系统的格式为fat32。

U盘安装Ubuntu 12.10

图3  写入硬盘的引导扇区选择(注意别被非重点吸引了)

在格式化完成后,非常重要的一步(不然会制作的会无法启动),点击便捷启动-->写入新的驱动器引导扇区-->Syslinux,,最后点击写入,,等待完成即可。。

3,选择开机进入优盘,我的是联想电脑(不同的电脑可能不一样,注意观察开机的时候黑屏幕最下方的提示),,开机时按F2可以进行选择进入,,然后选择对应的优盘,按Enter键就可进入。

注意:

(1),如果出现优盘被占用的错误  警告,可以尝试这重新插优盘 或者 换一个版本的UltraISO来做。。

(2),制作成功,无法启动,打开U盘目录下的\syslinux\syslinux.cfg,将default vesamenu.c32注释为 # default vesamenu.c32。。


二,进入ubuntu live  usb后,会有 try ubuntu 和install ubuntu的选项,就选择try ubuntu即可,,就可以进入到ubuntu的桌面环境来了,这时我使用的是网上推荐的linux下常用的数据恢复软件testdisk for  linux,,我当时使用时的截图被我搞丢了,教程大家可以上网上找一下,,我所犯的主要错误就是在恢复分区的时候没有注意到主分区,,扩展分区,,主引导分区这些就匆匆的恢复了,,结果开机就是黑屏加一个下划线在动。。。。暂时就不再进入ubuntu live  usb 使用testdisk了,,担心造成进一步的损坏。。


三,接着就决定使用windows的相关工具试试,,就使用了老毛桃的pe了,,把pe制作到优盘里,,开机进入优盘,进入pe的windows环境,这时数据大部分是可以拷出来出来的,,但是由于数量巨大就没有做。。pe中有一个分区软件,就打开了看看,,结果发现可以对分区进行修复,,就果断的使用了这一功能,,寻找分区然后恢复,,重启系统,,结果我的windows系统可以正常使用了,,但是ubunut依然进不去。。这时看到了希望了。。


四,ubuntu也不是完全进不去,,只是会显示filesystem error,,grub rescue>  这个也上网找了一些教程,,懒得看结果也没有修复成功。。于是就决定重新安装安装ubuntu,,就进入windows格式化ubuntu所占的分区,,在这是有一个分区同样又是几M的空间,,又不顺眼,,又把其删除了,,结果就是windows系统的D盘变成了RAW格式的,,也就打开时会显示无法读取,,格式错误,,需要格式化一类的消息,,在右键属性中,已用空间和未用空间都是0。也是找了很多办法想恢复D盘,,结果未果,,暂时就算了吧,,安装ubuntu吧(在我的某篇blog中有详细介绍)。。


五,安装完成后,,就进入windows继续对D盘处理。

D盘在磁盘管理里面查看格式是RAW,右键属性D盘显示可用0字节,已用0字节。。找了很多教程,有的说是进入安全选项,但是我没有成功。。最后还只找了一个数据恢复软件,,叫做超级硬盘数据恢复软件(SuperRecovery)解决的:

1,打开软件

wKioL1QAo_fjMh88AAG9jswkJfw547.jpg

图1 选择恢复丢失的分区

2,点击下一步

wKioL1QAo_mCPUtXAAC2ONaYuSo599.jpg

图2  选择相应的硬盘

3,继续点击下一步

wKiom1QAouTTKrZ1AADeHYGD8Hs995.jpg

图 3 再点下一步

4,完成后,会出来几个分区,选择需要恢复的分区,点下一步即可。。不过恢复的不是分区,而是目录结构与文件,把文件拷到另外一个分区。。最后把RAW格式的分区进行格式化,,新建分区,,再把文件复制回去,,各种软件就可以正常使用了。。


六,

1,Window下的D盘搞定以后,,这次再次进入ubuntu系统时,,出现图1所示的错误。

wKioL1QApKmQk2MqACViqm6bE5o911.jpg

图1  错误信息

图1中的错误信息我以前见到过,但是没有修好过,这次很有信心,因为这次分区没有被破坏,只是grub出现了问题,可以轻易恢复的(本文讲述的是boot分区没有独立分出的)。


2,首先ls一下,

命令:grub rescue> ls     结果如图2所示,可以看到有很多分区,(hd0,msdos9),(hd0,msdos5),(hd0,msdos2)等。


wKioL1QApNagEnY5ACXmn3yGgzw002.jpg

图 2  ls结果

3,这时需要一个一个的试分区,从(hd0,msdos1)开始,msdosX表示各个分区,注意 msdos 与 数字 之间没有空格!命令:

 grub rescue>ls (hd0,msdosX)/            

,如果出现了如图3所示的信息,Filesystem is  ext2 ,./   ../    lost+found 等一些信息说明找到了根目录,再注意观察一下有没有boot/ 。

wKiom1QAo-azU4XwACk4Kdq3A8g749.jpg

图3  寻找boot

4,找到boot/后就可以开始进行修复了,msdosX中的X需要用到实际数字,就是上一步试出来的那个数字,例如图3中的是(hd0,msdos7),则所用命令:

grub rescue>set root=(hd0,msdos7)

grub rescue>set prefix=(hd0,msdos7)/boot/grub

grub rescue>insmod /boot/grub/i386-pc/normal.mod

grub rescue>normal

这时菜单就可以出现了,进入ubuntu之后还要进行一些工作,不然的话以后开机还会出现同样的问题。

在ubuntu中,调出终端,按Ctrl+Alt+T,输入命令($不用输入):

$sudo update-grub

重新启动试试是否已经可以正常进入ubuntu,如果不行的话,可以使用一下命令:

$sudo update-grub

$sudo grub-install /dev/sda

如有问题需讨论[email protected]

5,方法二:网上查的,没有试,不过认为可行,也是修复grub rescue>的

(1)在liveCD模式进入UBUNTU,插入光盘,选择try ubuntu就是。

(2)安装Boot-Repair,先联网,然后打开终端,输入如下命令:

$sudo add-apt-repository ppa:yannubuntu/boot-repair



$sudo sh -c "sed -i 's/trusty/saucy/g' /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list"


$sudo apt-get update

$sudo apt-get install -y boot-repair && boot-repair

(3)修复就是了,真是好简单。

多系统启动出现grub <wbr>rescue模式,错误“normal.mod <wbr>not <wbr>found”解决办法


总结:至此已经完全完成了,对于自己不小心搞的错误也付出了一天的时间来修理,不过也学到了很多东西。

1,gurb rescue环境下的命令解释。

  • set 设置环境变量

  • ls 查看设备

  • insmod 加载模块

  • root 指定用于启动系统的分区

  • prefix 设定grub启动路径

2,对boot loader的理解。

你可能感兴趣的:(windows,ubuntu,光盘镜像)