Então, eu tenho um laptop dual boot (Win10 e Ubuntu) que é baseado em inicialização UEFI e tem 2 SSDs físicos. Depois de tentar reduzir minha partição Ubuntu (sda6 abaixo) e inicializar o Ubuntu, o kernel do Ubuntu começa a carregar e, depois de um tempo, sou jogado em um shell de resgate do busybox (porque o fsck quer ser executado após o redimensionamento, como script de gancho init)
Infelizmente, o fsresize e outros utilitários não estão no busybox distribuído, então inicializei a partir de um pendrive USB Live do Gparted e obtive acesso a algumas outras ferramentas como gdisk, lsblk, testdisk, parted e assim por diante.
O layout da partição é o seguinte:
root@debian:~# lsblk NOME MAJ:MIN RM TAMANHO RO TIPO PONTOS DE MONTAGEM loop0 7:0 0 463,4M 1 loop /usr/lib/live/mount/rootfs/filesystem.squashfs /run/live/rootfs/filesystem.squashfs sda 8:0 0 238.5G 0 disco ├─sda1 8:1 0 260M 0 parte ├─sda2 8:2 0 16M 0 parte ├─sda3 8:3 0 105.9G 0 parte ├─sda4 8:4 0 23.5M 0 parte ├─sda5 8:5 0 47.1M 0 parte ├─sda6 8:6 0 131.4G 0 parte └─sda7 8:7 0 800M 0 parte sdb 8:16 0 465.8G 0 disco └─sdb1 8:17 0 465.8G 0 parte sdc 8:32 1 3.7G 0 disco └─sdc1 8:33 1 3.7G 0 parte /usr/lib/live/mount/medium /executar/ao vivo/médio sr0 11:0 1 1024M 0 rom mmcblk0 179:0 0 14.6G 0 disco └─mmcblk0p1 179:1 0 14,6G 0 parte
onde /dev/sda6 é a partição problemática do Ubuntu.
do gparted usb live cd tentei um processo de recuperação com fsck:
root@debian:~# fsck.ext4 /dev/sda6 e2fsck 1.47.0 (5-fev-2023) O tamanho do sistema de arquivos (de acordo com o superbloco) é 35389440 blocos O tamanho físico do dispositivo é 34451766 blocos É provável que o superbloco ou a tabela de partição esteja corrompida! Abortar? sim
uma das soluções na rede é redimensionar a partição usando resize2fs, o que não funciona:
root@debian:~# resize2fs -f /dev/sda6 resize2fs 1.47.0 (5-fev-2023) Redimensionando o sistema de arquivos em /dev/sda6 para blocos de 34451766 (4k). resize2fs: Não é possível ler um bitmap de bloco ao tentar redimensionar /dev/sda6 Execute 'e2fsck -fy /dev/sda6' para corrigir o sistema de arquivos após a operação de redimensionamento abortada.
Eu tentei fsck com outros superblocos também (32768... etc), mas todos eles apresentaram o mesmo erro.
Então verifiquei a tabela de partições, que fornece:
root@debian:/home/usuário# gdisk /dev/sda GPT fdisk (gdisk) versão 1.0.10 Verificação da tabela de partição: MBR: protetor BSD: não presente APM: não presente GPT: presente GPT válido encontrado com MBR protetor; usando GPT. Comando (? para ajuda): p Disco /dev/sda: 500118192 setores, 238,5 GiB Modelo: SanDisk SD9SB8W2 Tamanho do setor (lógico/físico): 512/512 bytes Identificador de disco (GUID): 0AE22A81-8CBF-4E26-BD23-C0B1279204CA A tabela de partição contém até 128 entradas A tabela de partição principal começa no setor 2 e termina no setor 33 O primeiro setor utilizável é 34, o último setor utilizável é 500118158 As partições serão alinhadas em limites de 2 setores O espaço livre total é de 15338 setores (7,5 MiB) Número Início (setor) Fim (setor) Tamanho Código Nome 1 2048 534527 260,0 MiB EF00 partição do sistema EFI 2 534528 567295 16,0 MiB 0C01 Microsoft reservado ... 3 567296 222707711 105,9 GiB 0700 Partição de dados básicos 4 222709090 222757289 23,5 MiB 0700 5 222757290 222853679 47,1 MiB EF00 partição do sistema EFI 6 222853680 498467812 131,4 GiB 8300 7 498479104 500117503 800,0 MiB 2700 Partição de dados básica Comando (? para ajuda):
Eu pude ver que o fim da partição 6 não é antes do início da parte 7, então eu deletei a partição e a recriei, agora a parte 6 termina logo antes da parte 7 (498479103)
Depois dessa alteração de partição, o fsck continua apresentando o mesmo erro.
No dmesg há um erro sobre geometria ruim em /dev/sda6
Tenho backups, então esse não é o grande problema e, para minha surpresa, o testdisk pode ler, acessar e copiar todos os meus dados (avançado -> opções do sistema de arquivos) para /dev/sdb1 (outro disco no mesmo sistema)
Disco /dev/sda - 256 GB / 238 GiB - CHS 31130 255 63 Partição Início Fim Tamanho em setores 1 P Sistema EFI 2048 534527 532480 [Partição do sistema EFI] 2 P MS Reservado 534528 567295 32768 [Partição reservada da Microsoft] 3 P MS Data 567296 222707711 222140416 [Partição de dados básicos] [SO] 4 P Dados MS 222709090 222757289 48200 [HIVE-CONFIG] 5 P Sistema EFI 222757290 222853679 96390 [Partição do sistema EFI] > 6 P Linux filesys. dados 222853680 498467812 275614133 7 P Windows Recovery Env 498479104 500117503 1638400 [Partição de dados básica] [ Tipo ] >[Criação de Imagem] [ Sair ] Criar uma imagem
gparted ou parted se recusam a fazer algo com a partição porque ela contém erros.
Nenhum grupo de volume onde em uso. Pelo menos o fstab original não menciona isso.
Alguém conhece uma solução milagrosa para consertar isso sem fazer uma reinstalação completa, como reconstruir o sistema de arquivos? Ou reconstruir (um) superbloco(s)?