Como faço para consertar um disco rígido corrompido após uma falha na atualização?

0

O problema se originou quando eu estava tentando consertar este problema . As coisas correram horrivelmente, terrivelmente erradas e acabei com um novo problema. A última coisa que fiz foi correr

sudo apt-get install

e isso causou o congelamento do meu sistema. Eu reiniciei o meu computador e não iria arrancar a partir do disco rígido. Eu corri uma cópia do Ubuntu 12.10 de um flashdrive que eu tinha e corri gparted para ver se minhas partições estavam todas lá. Ele retornou esta mensagem:

Invalid partition table on /dev/sda -- wrong signature 5208.

A unidade apareceu como uma unidade não alocada de 2TiB com um erro. A unidade tinha 4 partições antes (mais espaço não alocado aleatório). Havia uma partição fat32, uma partição ext4 que continha Ubuntu 13.04 / 13.10 (eu nem sei qual delas neste momento), uma partição estendida que continha uma partição swap para minha partição ubuntu (eu estava querendo mover essa partição ubuntu para a partição estendida, nunca chegou a cerca de), e outra partição (não me lembro como eu formatado). Também devo mencionar que este é um disco rígido de 1 TB.

Então, resumindo, eu tenho uma tabela de partições corrompida no meu disco rígido principal do qual eu inicializo, como posso corrigir isso?

Eu tentei montar a unidade com

sudo mount /dev/sda1 /media/ubuntu

então eu mudei meu diretório para a pasta e tentei listar arquivos e essa monstruosidade aconteceu:

$ ls
ls: cannot access ��w�j^�.: Input/output error
ls: cannot access �?(�
                      �x?.|: Input/output error
ls: cannot access 6W_@�)?._??: Input/output error
ls: cannot access HB0v???.A}�: Input/output error
ls: cannot access ???.�X: Input/output error
ls: cannot access t)�.+�l: Input/output error
ls: cannot access ?h@   
�.@ : Input/output error
ls: cannot access >?    @�?.���: Input/output error
ls: cannot access m???.?�: Input/output error
ls: cannot access @ if�?a?: Input/output error
ls: cannot access ?M!vN$�.??n: Input/output error
ls: cannot access ?o�
�?.Bm': Input/output error
ls: cannot access ?:I???
M.
: Input/output error
ls: cannot access W??.??: Input/output error
ls: cannot access �: Input/output error
ls: cannot access ?W�s??: Input/output error
ls: cannot access ?v?k?.???: Input/output error
ls: cannot access 5?$<N��: Input/output error
.x����.??i: Input/output error
ls: cannot access je?���.j?1: Input/output error
XjD?.���: Input/output error
ls: cannot access W??n�??.?: Input/output error
ls: cannot access �^x.$"�: Input/output error
ls: cannot access !�?*!?�j.�?: Input/output error
ls: cannot access '-�?k?^�.?��: Input/output error
ls: cannot access b�w?w?b.\??: Input/output error
ls: cannot access o�??�"z.?�B: Input/output error
ls: cannot access ��b�h.?3-: Input/output error
ls: cannot access �?.$7: Input/output error
ls: cannot access )??K.bk: Input/output error
ls: cannot access s?�z?.?(�: Input/output error
ls: cannot access �F@?0?.@�: Input/output error
.�D: Input/output error
.?�: Input/output error
ls: cannot access?�??�.
                        @: Input/output error
ls: cannot access ?/?�
                        ?.��: No such file or directory
ls: cannot access rk?p4q(�.�k: Input/output error

Isso parece promissor. Esta é a saída do fdisk -l

$ sudo fdisk -l /dev/sda
Warning: ignoring extra data in partition table 5
Warning: ignoring extra data in partition table 5
Warning: ignoring extra data in partition table 5
Warning: invalid flag 0x5208 of partition table 5 will be corrected by w(rite)

Disk /dev/sda: 2199.0 GB, 2199023132672 bytes
255 heads, 63 sectors/track, 267349 cylinders, total 4294967056 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x44fdfe06

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1       113305600   894715903   390705152    c  W95 FAT32 (LBA)
/dev/sda2       894715904  1489307647   297295872   83  Linux
/dev/sda3      1489309694  1497307135     3998721    5  Extended
/dev/sda4      1497309184  1953523711   228107264    7  HPFS/NTFS/exFAT
/dev/sda5   ?  3013257822  3688738171   337740175   aa  Unknown
    
por Nil 20.10.2013 / 21:08

1 resposta

0

Bem, eu não sei exatamente o que eu fiz para corrigir isso, então vou listar um monte de coisas que eu fiz que poderiam ter corrigido isso. Primeiro, eu estava usando um thumbdrive de 4 GB para iniciar o Ubuntu 12.10 para trabalhar. Eu tinha espaço limitado na unidade e só podia instalar novos utilitários desinstalando outros (como o Thunderbird). Um utilitário que eu encontrei foi chamado fixparts . Eu não acredito que haja um ppa com fixparts nele, então eu tive que baixar o .deb e instalá-lo com o Ubuntu software center. A documentação / tutorial on-line recomenda o uso do fdisk para primeiro fazer o backup dos dados do MBR, de modo que, se os fixparts o corromperem, ele possa ser restaurado. Eu fiz isso (suponha que a unidade que queremos consertar seja sda) com

sudo fdisk -d /dev/sda > parts.txt

e para restaurar os dados

sudo fdisk -f /dev/sda < parts.txt

Para usar fixparts, basta fornecer a unidade na qual deseja trabalhar

sudo fixparts /dev/sda

De lá, você pode usar a interface. Primeiro, ele informará as partições primárias encontradas. Não irá listar as partições estendidas. Você pode então emitir comandos sobre o que você deseja fazer. Se você quiser uma lista de comandos, use apenas ? Veja a documentação on-line nos links acima para obter mais detalhes. O Fixparts não corrigiu exatamente as coisas para mim, mas me ajudou a começar. Eu restaurei a Tabela de Partição original usando o comando mencionado anteriormente com fdisk e depois usei o fdisk para tornar minha partição Linux inicializável. Simplesmente iniciar o fdisk sem argumentos, ou com o drive após ele, permitirá que você use uma interface similar a fixparts. Então eu corri

sudo fdisk /dev/sda

e defina a segunda partição como inicializável. Quando eu iniciei, eu era capaz de rodar o Ubuntu 13.04 como normal e acessar todas as minhas partições.

Se alguém entender as razões técnicas de por que isso resolveu as coisas, sinta-se à vontade para reescrever essa confusão de uma resposta e eu a selecionarei como melhor resposta.

    
por Nil 21.10.2013 / 23:15