Rädda disk med trasig partitionstabell.
Min 60GB:ar rasade. Det syntes som att jag inte hade några extended-partitioner längre. Med smartmontools kunde man se att det fanns fel på disken, liksom i /var/log/messages.
Här är stegen aningen förenklat för att återställa.
- Kopiera disken.
Det är ingen idé att försöka laga innehållet på en trasig disk. Det som händer är att man trasar datat ännu mera eller t.om. slutgiltigt. Jag genom att boota maskinen med Mandrake Move (Knoppix funkar också) och kopiera disken till en annan disk, i detta fall till en annan maskin via ssh. En FireWire/USB-disk är ett alternativ (min maskin var en laptop så en annan intern disk var inget alternativ).
dd if=/dev/hda bs=512 conv=noerror,sync | ssh robin@kivi cat \>xine.hda
Det här tar tid med ett normalt nätverk. 60GB / 100Mb = ~ 2 timmar. - Skanna disken efter partitioner.
gpart söker efter sånt som ser ut som partitioner.
losetup /dev/loop0 xine.hda
gpart -f -g -v /dev/loop0
Bland det intresanta (råkar veta att storleken verkar rätt)
Possible partition(SGI XFS filesystem), size(9528mb), offset(47692mb) type: 131(0x83)(Linux ext2 filesystem) size: 9528mb #s(19514496) s(97675263-117189758) chs: (1023/255/0)-(1023/255/0)d (0/0/0)-(0/0/0)r hex: 00 FF C0 FF 83 FF C0 FF FF 67 D2 05 80 C4 29 01
Man får en hel del falska tips om partitioner. Det är inte så mycket att oroa sig för mera än att det tar tid att prova alla, men det kan man undvika om man
har en aning om hur stora partitioner man hade. - Montera partitioner
Startsektorn * 512 (blockstorlek) ger offset till partitionen. Gör om losetup
med offset.
losetup -d /dev/loop0
losetup -o $((97675263*512)) /dev/loop0 xine.hda
Nu kan man (skall kunna) montera filsystemet med
mount /dev/loop0 /mnt/cdrom
Är man orolig kan man prova detta istället
mount -t xfs /dev/loop0 /mnt/cdrom -o ro,norecovery
Nu kan man komma åt innehållet som vanligt.
ls /mn/cdrom



