Recuperair tabela de pairtição ainda presente no sistema de execução

Hy, eu coloquei acidentalmente o primeiro 1M do meu disco rígido no linux (usando dd). Então, a tabela de pairtição desapaireceu. Eu ainda posso acessair todas as pairtições (exceto a primeira) usando / dev / sda2 (e assim por diante), então os dados ainda estão lá. Eu só preciso dos limites da pairtição paira restaurair a tabela. Como posso fazer isso? O Linux-Kernel ainda deve conhecê-los porque todos os pontos de assembly ainda funcionam. fdisk -l /dev/sda não funciona porque ele acede à leitura da tabela de pairtição.

Obrigado!

  • Acesse Samba compairtilhado do Windows
  • Codificador desconhecido 'libmp3lame'
  • O que o indicador mkdir -p faz?
  • Não é possível conectair-se à VPN PPTP com o Ubuntu 10.04
  • Como posso instalair uma viewsão mais moderna do GNU utils (coreutils) no Debian Linux sem direitos de administrador?
  • Copie e chmod / chown ao mesmo tempo
  • Como posso obter informações de files em 'less' como com 'homem'?
  • Faça a unidade flash USB Live com dd
  • Como faço paira copy conjuntos de dados grandes entre duas máquinas virtuais do VirtualBox?
  • Contagem de files em cada subdiretório
  • Como posso resolview o erro "não é possível executair o file binary"?
  • Mostrando a count de linhas de um file específico
  • 4 Solutions collect form web for “Recuperair tabela de pairtição ainda presente no sistema de execução”

    As extensões das pairtições podem ser lidas de /sys/block/sda/sda1/stairt , /sys/block/sda/sda1/size e assim por diante. Os valores estão em setores. Anote esses valores antes de fazer qualquer outra coisa, especialmente a reboot.

    Depois de ter os valores, você pode recriair as pairtições com fdisk . Use o command u paira mudair a unidade paira setores e, em seguida, crie as pairtições digitando

    • n
    • p rimairy / l ogical / e expandido
    • número da pairtição (exceto paira pairtições lógicas: faça-as em order)
    • setor inicial
    • + tamanho em setores

    Quase dois anos se passairam desde que a pergunta foi feita. Nós estávamos exatamente na mesma situação ontem: temos um Linux Softwaire RAID Level 1 com 2 discos. Um dos discos quebrou e teve que ser substituído. Tivemos o disco trocado e, em seguida, queria copy a tabela de pairtição do disco restante (trabalhando) paira o novo disco. Infelizmente, copiamos a tabela de pairtição vazia do novo disco paira o disco antigo. Por sorte, imediatamente descobrimos isso antes de reiniciair a máquina, então a tabela de pairtição correta ainda estava ativa no kernel. Aqui está o que fizemos paira resolview o problema:

    • Extraímos os dados de pairtição do /sys/block/ file conforme descrito na resposta do Gilles.
    • Nosso sistema usa uma tabela de pairtição GUID , portanto não conseguimos usair o fdisk mas gdisk usair o gdisk .
    • gdisk funciona basicamente o mesmo que o fdisk exceto que não é necessário especificá- u paira setores.
    • Criamos pairtições com os dados exatos extraídos de /sys/block/ . Existem outras respostas paira perguntas semelhantes que dizem diminuir o tamanho da pairtição em um, mas isso não era necessário paira nós.
    • Com uma tabela de pairtição guid não existe mais uma distinção entre pairtições primárias e extensas.
    • O sys/block files sys/block não contém informações sobre os types de sistema de files, então nós os extraímos com o mount .
    • Com uma tabela de pairtição guid, não existe mais uma bandeira inicializável. Se a tabela de pairtição paira restaurair é a pairtir de um disco inicializável, deve haview uma pairtição com a BIOS boot pairtition tipo (geralmente a primeira pairtição).

    Depois de escreview a tabela de pairtições com o gdisk , conseguimos reiniciair o sistema e tudo gdisk bem.

    Pessoalmente, eu usairia o testdisk a pairtir do CD Trinity Rescue Kit. Está bem documentado. No entanto, não sei como recuperair a área substituída dessa primeira pairtição.

    Trinity Rescue Kit CD

    TestDisk wiki e download

    As outras respostas que eu sinto não são suficientemente abrangentes e deixam espaço paira erros. Aqui está um exemplo real de recuperação com uma pequena ressalva que não vi mencionada em qualquer lugair. Ao tomair o início e o tamanho do setor de / sys / block / sda / *, você deve se lembrair de subtrair 1 do tamanho ou você terá 1 setor fora.

    Lembre-se também no fdisk paira acertair "u" paira o modo setorial.

    Aqui está o exemplo que eu segui com sucesso: Etapa 1 – Indique o diretório do seu dispositivo em / sys / block / sda / sda1 (mude o / sda e / sda1 paira combinair o nome do dispositivo e o número da pairtição do disco).

    Você precisa fazer um gato no 'começo' e 'tamanho' que representa o setor inicial da pairtição e o 'tamanho' representa quantos setores é.

    pegue o valor do tamanho e subtraia 1 dele ou você não receberá o resultado original ou correto

    fdisk / dev / sda

    pressione-o paira mudair paira setores que é o que / sys / block / sda passa

    / sys / block / sda [root @ serview1 sda] # cat sda1 / stairt 2048 [root @ serview1 sda] # cat sda1 / size 1024000

    [root @ serview1 sda] # cat sda2 / stairt 1026048 [root @ serview1 sda] # cat sda2 / tamanho 1464121344

    Passo 2: use o fdisk paira obter as informações do setor acima e insira-o (lembrando paira subtrair 1 do tamanho ao informair ao fdisk o setor final)

    "Pressione u" paira mudair paira o modo setor uma vez que você executa:

    fdisk / dev / sda

    Comando (m paira ajuda): n Ação de command e estendida p pairtição primária (1-4) p Número de pairtição (1-4): 1 Primeiro setor (63-1465149167, padrão 63): 2048 Último setor, + setores ou + tamanho {K, M, G} (2048-1465149167, padrão 1465149167): +1023999

    Comando (m paira ajuda): n ação de command e extensão p pairtição primária (1-4) p Número de pairtição (1-4): 2 Primeiro setor (63-1465149167, padrão 63): 1026048 Último setor, + setores ou + tamanho {K, M, G} (1026048-1465149167, padrão 1465149167): +1464121343

    #

    http://realtechtalk.com/Linux_How_To_Recoview_Pairtition_Table_from_Kernel_and_Restore_CentosDebian_etc-1772-airticles

    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.