首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要在testdisk中还原的分区

要在testdisk中还原的分区
EN

Unix & Linux用户
提问于 2019-02-19 14:19:16
回答 1查看 301关注 0票数 -1

我的设置

戴尔Chromebook 13与Windows 10和Ubuntu18.10双引导,使用MrChromebox UEFI固件(4.9)

发生了什么,

我想在一个外部usb驱动器上安装Ubuntu。我采取了两个驱动器,安装了在线版本的ubuntu18.10在第一个,引导到它,然后使用安装程序安装在第二个usb上的ubuntu。

安装完成后,我删除了驱动器并重新启动。在移除两个USB接口后,我试图引导到我的主要Ubuntu安装(即我的笔记本电脑内部硬盘驱动器),但现在笔记本电脑启动到GRUB2.2(支持“最小的类似于BASH的编辑”)而不是Ubuntu。

我仍然可以通过在引导管理器中选择Windows来引导它,但是如果我什么都不做,计算机就会进入GRUB。

我试过什么

1)我尝试了boot repair,但问题仍然存在。我是修复过程的输出

2) parted

代码语言:javascript
复制
sudo parted /dev/sda unit s print
Model: ATA ADATA SP600NS34 (scsi)
Disk /dev/sda: 500118192s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start     End        Size       File system  Name                          Flags
 1      2048s     1023999s   1021952s   ntfs         Basic data partition          hidden, diag
 2      1024000s  1228799s   204800s    fat32        EFI system partition          boot, esp
 3      1228800s  1261567s   32768s                  Microsoft reserved partition  msftres
 4      1261568s  89327144s  88065577s  ntfs         Basic data partition          msftdata

Parted无法看到使用ubuntu安装的分区,因此我试图从第四个分区之后的+1扇区开始救援,但没有结果:

代码语言:javascript
复制
sudo parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) rescue                                                           
Start? 89327145
End? 500118191                                                            
(parted)

3) testdisk:第一层分析找不到任何分区,所以我做了更深入的搜索。这是结果

代码语言:javascript
复制
TestDisk 7.0, Data Recovery Utility, April 2015
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda - 256 GB / 238 GiB - CHS 31130 255 63

The harddisk (256 GB / 238 GiB) seems too small! (< 12 TB / 11 TiB)
Check the harddisk size: HD jumpers settings, BIOS detection...

The following partitions can't be recovered:
   Partition               Start        End    Size in sectors
  Linux Swap              89606136 25289942743 25200336608
   MS Data                257078856  656388551  399309696
   MS Data                257079752  656389447  399309696
   MS Data                257082240  656391935  399309696
   MS Data                257082400  656392095  399309696
   MS Data                257083096  656392791  399309696
   MS Data                257084352  656394047  399309696
   MS Data                257085056  656394751  399309696
   MS Data                257086456  656396151  399309696
   MS Data                257086592  656396287  399309696

[ Continue ]
SWAP2 version 2674814663, pagesize=8192, 12 TB / 11 TiB

在下面的屏幕中,我得到了一个分区列表(或者至少我认为它们是)。我用P检查了其中一些文件,它允许我查看每个文件中包含的文件。我想我确定了我的根分区

代码语言:javascript
复制
 D MS Data                     2048    1023999    1021952
 D MS Data                  1023999    2045950    1021952
 D MS Data                  1024000    1228799     204800 [NO NAME]
 D MS Data                  1024006    1228805     204800 [NO NAME]
 D MS Data                  1261568   89327144   88065577
 D MS Data                  6173667    6179840       6174
 D MS Data                  6179840    6186013       6174 [Boot]
 D MS Data                  6179859    6186032       6174
 D MS Data                  6186032    6192205       6174 [Boot]
 D MS Data                  6186051    6192224       6174
 D MS Data                  6192224    6198397       6174 [Boot]
 D MS Data                  6192243    6198416       6174
 D MS Data                  6198416    6204589       6174 [Boot]
 D MS Data                  6204624    6207503       2880 [EFISECTOR]
 D MS Data                  6207504    6210383       2880 [EFISECTOR]
 D MS Data                 17739774  417049469  399309696
 D MS Data                 17739776  417049471  399309696
 D MS Data                 22864947   22871120       6174
 D MS Data                 22871120   22877293       6174 [Boot]
 D MS Data                 78493568   78496447       2880 [EFISECTOR]
 D MS Data                 81325576   81328455       2880 [EFISECTOR]
 D MS Data                 81328456   81331335       2880 [EFISECTOR]
 D MS Data                 86914272   86917151       2880 [EFISECTOR]
 D MS Data                 89327144  177392720   88065577
 D MS Data                 89327614  500117501  410789888
 D MS Data                 89327616  500117503  410789888    // this is where my root folder is
 D Linux Swap              89606144   93800431    4194288
 D MS Data                154662036  154666963       4928 [NO NAME]
 D MS Data                222556160  305313791   82757632
 D MS Data                237681520  237684399       2880 [EFISECTOR]
 D MS Data                299342267  299345146       2880 [NO NAME]
 D MS Data                305313791  388071422   82757632
 D MS Data                316486379  316489258       2880 [NO NAME]
 D MS Data                316486403  316489282       2880 [NO NAME]
 D MS Data                332211579  332214458       2880 [NO NAME]
 D MS Data                395771312  395774191       2880 [EFISECTOR]
 D MS Data                395774192  395777071       2880 [EFISECTOR]
 D MS Data                417052670  500117501   83064832
 D MS Data                417052672  500117503   83064832
 D MS Data                468003251  468006130       2880 [NO NAME]
 D MS Data                468004147  468007026       2880 [NO NAME]
 D MS Data                471783563  471786442       2880 [NO NAME]

这是完整的日志 (请注意,我已经进行了两次深度搜索)。

,我应该尝试将分区特性从D=deleted更改为P=primary?

吗?

还有其他分区我应该恢复吗?当我试图在其中的许多文件中可视化文件时(就像前面的一样),我只收到以下消息:Can't open filesystem. Filesystem seems damaged.

或者我应该放弃,重新安装所有的东西,还是还有一些希望?

EN

回答 1

Unix & Linux用户

发布于 2019-02-19 15:08:44

从您的描述来看,您可能成功地在您的外部USB磁盘上安装了Ubuntu,但是GRUB (Ubuntu的引导加载程序)被安装到了您的EFI系统分区sda2中。如果您试图用外部USB断开连接来引导,GRUB会感到困惑,因为它的配置和/或它的一些模块位于(现在无法到达)外部USB中。

您可能没有在外部USB上创建EFI系统分区(简称ESP ),因此sda2中的ESP是安装UEFI引导程序的唯一有效位置。

由于您的Windows没有被覆盖,并且您声明您的目标是在外部USB上安装Ubuntu,我假设您的Ubuntu安装是按照您的命令完成的,除了引导加载程序之外。要确定是否正确,您可以再次从活动USB驱动器启动,然后检查其他USB驱动器的内容。如果有足够的空间,您的目标可能是在Ubuntu安装目标USB上创建另一个ESP,并在那里安装Ubuntu引导加载程序。

您的次要目标是修复Windows引导。这很简单:您只需将“”移动到启动顺序中的第一项即可。在Ubuntu中,您可以使用efibootmgr命令来完成它。在Windows中,通过以管理员身份打开命令提示符并使用bcdedit命令,您也可以这样做:

代码语言:javascript
复制
Bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst

如果需要,还可以挂载sda2分区,并从那里删除意外安装的Ubuntu引导程序,只需删除<mount point>/EFI/ubuntu/目录及其所有内容。但这并不是必要的。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/501598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档