Come posso recuperare un settore MBR / boot perso?


2

Avevo un VDI (VirtualBox Virtual Disk Image) con Ubuntu 11.10 (64 bit, credo) installato su di esso. In precedenza, durante l'esecuzione di un CD live GParted sulla mia macchina virtuale per cancellare la tabella delle partizioni di un altro disco, ho finito per rimuovere inavvertitamente la tabella delle partizioni del mio VDI Ubuntu invece dell'altro disco (lo so, è stato stupido da parte mia non essere Sicuro al 100% su quale disco stavo lavorando prima di procedere, ma l'avevo fatto così tante volte che non avevo nemmeno pensato di controllarlo).

Dopo aver raccolto le mie indicazioni, ho cercato di cercare un modo per riprendermi dal danno. Sono riuscito a recuperare la mia /dev/sda1partizione e la partizione di swap (anche se ora era fuori dalla partizione estesa in cui si trovava prima) usando TestDisk .

Il problema è che ora, quando avvio in VDI, ottengo solo una schermata nera senza prompt né alcun segno di vita.

Ho provato a installare l'MBR di TestDisk sul disco e ora quando eseguivo la VM visualizzava il prompt dell'MBR di TestDisk. Quando gli ho detto di avviarsi nella mia partizione Ubuntu, però, continuava a visualizzare quella schermata nera.

C'è un modo per superare questa situazione? Penso che il problema potrebbe risiedere nel settore di avvio della partizione (e ora dovrò reinstallare GRUB o qualcosa sull'MBR).


EDIT: ecco alcune informazioni aggiuntive.

fdisk :

user@debian:~$ sudo fdisk -l /dev/sda

Disk /dev/sda: 75.0 GB, 75019321344 bytes
255 heads, 63 sectors/track, 9120 cylinders, total 146522112 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: 0x000e56c7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   129746943    64872448   83  Linux
/dev/sda2       129746944   146518015     8385536    5  Extended
/dev/sda5       129748992   146518015     8384512   82  Linux swap / Solaris

Non ne sono completamente sicuro (e per favore scusate la mia ignoranza se sbaglio), ma penso che potrebbe essere un'anomalia che /dev/sda1inizia da 2048. Non dovrebbe iniziare alle 0?


L'MBR inizia da 0, quindi sda1 deve iniziare un po 'più tardi. Usa hexdump -C /dev/sda | moreper vedere cosa c'è tra MBR e sda1.
ott--

Non riesco a discernere molto da esso vedendolo in quel modo, ma posso vedere che c'è un divario (riempito con NOPs) tra 0x40(incluso) e 0x70(non incluso), e un altro tra 0x200e 0x600. Ecco uno screenshot della discarica
Gabriele Cirulli,

Risposte:


3

Ho trovato una soluzione a questo problema. Ecco i passi che ho preso per riferimento futuro e nella speranza che possa aiutare chi incontra lo stesso problema.

  • Ho scaricato una versione Live CD di Ubuntu 11.10 (assicurati di scaricare il Live CD amd64 se il tuo sistema è a 64 bit) .
  • Ho avviato il Live CD, ho chiesto di provare Ubuntu e ho aperto una nuova finestra del terminale.
  • Seguendo vagamente la guida pubblicata qui , ho eseguito i seguenti comandi:
    • sudo mount /dev/sda1 /mnt
    • sudo mount --bind /dev /mnt/dev
    • sudo mount --bind /proc /mnt/proc
    • sudo mount --bind /etc /mnt/etc
    • sudo mount --bind /sys /mnt/sys
      (alcuni di questi potrebbero essere ridondanti, ma ho scoperto che alcuni programmi darebbero alcuni errori se questi non fossero eseguiti)
    • sudo chroot /mnt
  • Quando ero a come radice , mi sono imbattuto:
    grub-install /dev/sda.

L'ultimo comando diceva che tutto andava bene e funzionava. Ho riavviato la macchina virtuale ed ero di nuovo nella mia installazione di Ubuntu, come se nulla fosse mai accaduto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.