Kapotte schijf mounten?

Pagina: 1
Acties:

  • o_Omgwtf
  • Registratie: Januari 2009
  • Laatst online: 15-01 19:48
Ik kreeg de laatste tijd een aantal rare crashes / freezes en uiteindelijk wilde Ubuntu nieteens meer booten. Iets met 'no init found'. Ookal is de schijf in dit systeem pas een paar maanden uit, toch even de Samsung Tool gedraaid, en jawel, errors detected. Nu staat er natuurlijk nog het een en ander aan data op, dus deze probeer ik te redden. Heb genoeg ervaring met NTFS/FAT partities en bijbehorende recovery tools, maar op linux gebied ben ik nog een betrekkelijke noob.

Ik heb de schijf via USB aangesloten op een Vista machine, deze wordt wel gezien als zijnde 'Schijf 1' - Onbekend - Niet geïnitialiseerd. Ik neem aan dat dit komt door het bestandssysteem (ext3 denk ik - Ubuntu 9.04).
Als ik de schijf aan een andere Ubuntu machine hang krijg ik de melding: 'unable to mount the volume, wrong fs type, bad option, bad superblock'. Nu heb ik met '-f' hem geprobeerd te mounten maar krijg dezelfde melding.

Heb het gevoel dat de schijf niet erg kapot is, hij spint gewoon op, tikt niet en is niet heel oud, ook nooit gevallen of wat dan ook. Maar puur dat ik de kennis (nog) niet heb om hem zichtbaar te krijgen. Heb uiteraard gegoogled op een aantal meldingen maar dusver nog weinig nuttigs gevonden.

Het gaat om een Samsung F2 EcoGreen HD502HI.

  • Nvidiot
  • Registratie: Mei 2003
  • Laatst online: 11-01 23:32

Nvidiot

notepad!

Maak met dd (of wanneer dd faalt, dd_rescue) een image van de hele schijf. Run daarna de recovery tools op de image :)

code:
1
dd if=/dev/sdb of=/mnt/disk/met/genoeg/ruimte

Vervang /dev/sdb voor de juiste disk :)

What a caterpillar calls the end, the rest of the world calls a butterfly. (Lao-Tze)


  • adoy
  • Registratie: November 2001
  • Laatst online: 09-12-2025

adoy

1 dubbele WifWaffer® aub!

TestDisk geprobeerd?

Hier kun je ook handige links vinden naar live CDs met testdisk en recoverytools! Succes! :)

[ Voor 39% gewijzigd door adoy op 08-08-2009 23:35 ]

Fotogear -> Nikon D50 ★ Stukjes glas ★ Flitsert ★ Kleine snuisterijen


  • o_Omgwtf
  • Registratie: Januari 2009
  • Laatst online: 15-01 19:48
Bedankt voor de snelle reacties!
Heb inmiddels een image gemaakt van de schijf. Als ik het goed begrijp kan ik nu de image gebruiken om van te recoveren en ondetussen de schijf terugbrengen en garantie claimen?

Testdisk heeft gedraait en krijg deze melding:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
TestDisk 6.10, Data Recovery Utility, July 2008
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sde - 500 GB / 465 GiB - CHS 60801 255 63

The harddisk (500 GB / 465 GiB) seems too small! (< 722 GB / 673 GiB)
Check the harddisk size: HD jumpers settings, BIOS detection...

The following partition can't be recovered:
     Partition               Start        End    Size in sectors
  Linux                29279   0  1 87878 253 62  941408936










[ Continue ]

EXT3 Large file Sparse superblock Recover, 482 GB / 448 GiB


Vervolgens krijg alleen de swap partitie te zien waar ik zou van kunnen recoveren...

  • Nvidiot
  • Registratie: Mei 2003
  • Laatst online: 11-01 23:32

Nvidiot

notepad!

Run testdisk eens op de image file in plaats van direct op de schijf?

Zal wel iets zijn als: testdisk /pad/naar/image.dd

What a caterpillar calls the end, the rest of the world calls a butterfly. (Lao-Tze)


Verwijderd

Ik weet het ook niet zeker, maar wat die TestDisk zegt, heb je dat al opgevolgd? Bios settings ff checken? Ik heb het weleens gehad dat als ik m'n pc totaal van het stroomnet loskoppel (heb zo'n stekkerdoos met knop die ik voorheen graag gebruikte totdat... ), de bios settings binnen enkele dagen verloren zijn gegaan. Ik kan me voorstellen dat jou dat ook overkomen kan zijn.

  • QuaQu
  • Registratie: Oktober 2002
  • Laatst online: 18-08-2021
Nvidiot schreef op zaterdag 08 augustus 2009 @ 23:34:
Maak met dd (of wanneer dd faalt, dd_rescue) een image van de hele schijf. Run daarna de recovery tools op de image :)
Ik heb hele goede ervaringen met dd_rescue (op de snelheid na); al drie keer schijven van mezelf en anderen gerecovered. Eerst een groot image ervan maken, e2fsck eroverheen halen, dan image mounten (-o loop) en dan eraf halen wat je nog wil

"Ik heb een boel geld uitgegeven aan drank, vrouwen en snelle auto's. De rest heb ik over de balk gesmeten." - George Best


Verwijderd

Ik zou hem toch aansluiten op je windows pc. Je hebt software waarmee je ext partities kan uitlezen.

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 22:35

CAPSLOCK2000

zie teletekst pagina 888

Ik ben het totaal niet eens met het advies van Baension.
Misschien is het paranoide, maar ik zou er niet op vertrouwen dat Windows helemaal van die schijf af blijft.
Verder geloof ik niet dat er onder Windows betere tools bestaan om een ext filesystem te herstellen dan onder Linux, maar als je een goede tool weet hoor ik het graag.

Overigens zou ik de schijf helemaal uit de machine halen nadat je een image hebt gemaakt met dd_rescue. Je hebt de schijf dan niet meer nodig, en je kan hem beter bewaren voor het geval er iets mis gaat met je image. Het ding meer gebruiken verhoogt alleen maar de kans op dataverlies.

Weet je nog hoe je partitie-tabel er uit ziet? Je zou kunnen proberen een nieuwe paritietabel aan te maken met partities van dezelfde grote. Als het je lukt om ze precies even groot te maken zou dat geen (extra) dataverlies moeten opleveren. TestDisk klaagt over een ongeldige partitie. Misschien is alleen je parititietabel kapot.

Uiteraard probeer je dit soort dingen bij voorkeur op een image uit. (500GB is natuurlijk nogal veel, en ik ben er voor het gemak maar van uit gegaan dat je terrabytes over hebt voor images.)


PS. Als de tool van samsung zegt dat er fouten zijn dan mag je er van uit gaan dat die schijf echt stuk is. Schijven kunnen een klein beetje schade zelf herstellen, ze reserveren een klein beetje ruimte om defecte stukken te vervangen. Misschien dat je paritietabel vervangen is door zo'n reserveblok. Tegen de tijd dat jij merkt dat het door hebt is het aantal fouten te groot geworden om nog te herstellen, en is het (dus) hoog tijd om van je garantie gebruik te maken.

This post is warranted for the full amount you paid me for it.


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Misschien kan het nog veel simpeler:

Heb je de schijf via een alternate superblock proberen te mounten?

mount /dev/sde1 /mnt/floppy -o sb=65536

Ook al had testdisk dat eigenlijk ook wel moeten kunnen zien.

We are pentium of borg. Division is futile. You will be approximated.


  • o_Omgwtf
  • Registratie: Januari 2009
  • Laatst online: 15-01 19:48
Ik heb een image gemaakt met 'dd', dus geen dd_rescue. Inmiddels is de disk al omgeruild, achteraf misschien stom |:( .. Maargoed.

Ik probeer dus nu inderdaad de image te mounten alleen krijg ik dit niet voor elkaar. Krijg namelijk ook vreemde output van fdisk:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
daniel@server:/media/sto1$ fdisk -l samsung.dd 
You must set cylinders.
You can do this from the extra functions menu.

Disk samsung.dd: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0000742d

     Device Boot      Start         End      Blocks   Id  System
samsung.dd1           58601       60801    17679532+   f  W95 Ext'd (LBA)
Partition 1 has different physical/logical beginnings (non-Linux?):
     phys=(1023, 254, 63) logical=(58600, 0, 1)
Partition 1 has different physical/logical endings:
     phys=(1023, 254, 63) logical=(60800, 254, 63)
samsung.dd5           58601       60801    17679501   82  Linux swap / Solaris
daniel@server:/media/sto1$


En wanneer ik probeer te mounten krijg ik:

code:
1
2
3
4
5
6
7
8
9
10
11
daniel@server:/media/sto1$ sudo mount samsung.dd -o loop /media/samsung/
mount: you must specify the filesystem type
daniel@server:/media/sto1$ sudo mount samsung.dd -o loop -t auto /media/samsung/
mount: you must specify the filesystem type
daniel@server:/media/sto1$ sudo mount samsung.dd -o loop -t ext3 /media/samsung/
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

daniel@server:/media/sto1$


Veel dank voor alle reacties :)

  • NaliXL
  • Registratie: Maart 2002
  • Laatst online: 24-01 19:42
Dat is min of meer logisch. Waarschijnlijk heb je een image gemaakt van je hele schijf, en dus moet je niet het image zelf mounten, maar een partitie binnen dat image.

Quote uit de bochs docs:
2. If you want access to a hard disk image, you have to calculate the size of
the first cylinder. This value is the offset argument for losetup.

offset = bytes per sector * sectors per cylinder

The command for dlxlinux image looks like this:

losetup /dev/loop0 /usr/local/bochs/dlxlinux/hd10meg.img -o 8704

For images created by bximage you must use the value 32256.

Genoeg is meer dan veel, en tart den overvloed


  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

o_Omgwtf schreef op dinsdag 11 augustus 2009 @ 18:23:
code:
1
2
3
4
5
6
7
8
9
10
11
daniel@server:/media/sto1$ sudo mount samsung.dd -o loop /media/samsung/
mount: you must specify the filesystem type
daniel@server:/media/sto1$ sudo mount samsung.dd -o loop -t auto /media/samsung/
mount: you must specify the filesystem type
daniel@server:/media/sto1$ sudo mount samsung.dd -o loop -t ext3 /media/samsung/
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

daniel@server:/media/sto1$


Veel dank voor alle reacties :)
Kijk even naar http://ubuntuforums.org/s...php?p=4432555&postcount=2

En eventueel nog proberen te mounten met "-o loop,sb=65536"

En als mounten echt niet meer zou je over dat image nu eens foremost / sleuthkit kunnen draaien om te kijken hoeveel er nog te recoveren is.

We are pentium of borg. Division is futile. You will be approximated.


  • o_Omgwtf
  • Registratie: Januari 2009
  • Laatst online: 15-01 19:48
Hmm ok, ik heb dus nu de uitkomst van zowel 941409000 x 512 geprobeerd als 941409063 x 512. Bij beiden krijg ik dezelfde melding :/

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
daniel@server:/media/sto1$ fdisk -u -l samsung.dd 
You must set cylinders.
You can do this from the extra functions menu.

Disk samsung.dd: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x0000742d

     Device Boot      Start         End      Blocks   Id  System
samsung.dd1       941409000   976768064    17679532+   f  W95 Ext'd (LBA)
Partition 1 has different physical/logical beginnings (non-Linux?):
     phys=(1023, 254, 63) logical=(58600, 0, 1)
Partition 1 has different physical/logical endings:
     phys=(1023, 254, 63) logical=(60800, 254, 63)
samsung.dd5       941409063   976768064    17679501   82  Linux swap / Solaris
daniel@server:/media/sto1$ sudo mount -o loop,offset=482001408000 -t auto samsung.dd /media/samsung/
mount: you must specify the filesystem type
daniel@server:/media/sto1$ sudo mount -o loop,offset=4820014402560 -t auto samsung.dd /media/samsung/
mount: you must specify the filesystem type
daniel@server:/media/sto1$


Ook Rainmakers suggestie werkt niet:


code:
1
2
daniel@server:/media/sto1$ sudo mount -o loop,sb=65536 -t auto samsung.dd /media/samsung/
mount: you must specify the filesystem type


* o_Omgwtf gaat even lezen over sleuthkit

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Ik zou niet -t auto gebruiken, maar ext3. Of eventueel nog ext2.

Kleine kans dat dat spontaan wel werkt, maar je weet maar nooit.

Succes :Y

We are pentium of borg. Division is futile. You will be approximated.


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 22:35

CAPSLOCK2000

zie teletekst pagina 888

Heb je een image gemaakt van de partitie of van de hele disk?
(/dev/sda = disk, /dev/sda1 = partitie).

Als je de hele disk hebt gedaan, dan kun je hem inderdaad niet direct mounten.
mount verwacht immers een parititie, en aan het begin van je schijf staat nog wat extra informatie.
Die extra informatie moet je overslaan. Gelukkig kan mount dat.

mount -o loop,offset=XXXXX schijf.img /mnt/

Nu de vraag, hoe kom je aan XXXX?

Open het image met parted. Nu kun je als het goed is de partitietabel van je schijf zien. Als dat niet werkt is de boel echt grondig kapot, maar aangezien je het gelukt is om een image te maken met dd zal het wel meevallen.

Zet parted nu in bytes modus. Je ziet nu de beginadressen van je partities. Kies een parititie en vul het adres in je mount commando in.

This post is warranted for the full amount you paid me for it.


  • o_Omgwtf
  • Registratie: Januari 2009
  • Laatst online: 15-01 19:48
Dank voor de reacties :)
Heb inderdaad een dd gemaakt van de hele schijf, deze heeft 2 partities waarvan 1 swap.

Dit is de output van parted:

code:
1
2
3
4
5
6
7
8
9
10
(parted) unit b                                                           
(parted) print all                                                        
Model:  (file)
Disk /media/sto1/samsung.dd: 500106780160B
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start          End            Size          Type      File system  Flags
 1      482001408000B  500105249279B  18103841280B  extended               lba  
 5      482001440256B  500105249279B  18103809024B  logical   linux-swap


Vervolgens

code:
1
2
3
4
5
6
7
8
9
daniel@server:/media/sto1$ sudo mount -o loop,offset=482001408000 samsung.dd /media/samsung/
mount: you must specify the filesystem type
daniel@server:/media/sto1$ sudo mount -o loop,offset=482001408000 -t ext3 samsung.dd /media/samsung/
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

daniel@server:/media/sto1$


Erg vreemd... ook -t auto of -t ext2 geven dezelfde melding :?

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 22:35

CAPSLOCK2000

zie teletekst pagina 888

Je moet even weten wat een extended parititie is.

DOS-parititietabellen ondersteunen maar 4 partities. Daarom is er ooit een hack verzonnen, waarbij je binnen een parititie weer een nieuwe parititietabel aanmaakt. Alles boven de 4 is een zogeheten logische partitie binnen een extended partitie.

In jouw geval zie ik een extended partitie met daarin een logische partitie van grofweg 16G (beetje veel maar ok). Die partitie begint op ongeveer 450G. De eerste 450G lijken blanco.

Maar dat houd ons natuurlijk niet tegen, we kunnen wel een aardige gok doen naar hoe het begin van je hardeschijf er uit ziet. Ze beginnen immers allemaal bij 0, en dan moet er wat verplichte data komen, en dan je eerste parititie. Die verplichte data heeft een standaard formaat van ongeveer 32 kilobyte.

Dus, laten we er eens van uit gaan dat je eerste paritie ook daadwerkelijk vooraan je schijf begint. Je offset is dan 32256.

$ sudo mount -o loop,offset=32256 samsung.dd /dev/samsung

This post is warranted for the full amount you paid me for it.


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 22:35

CAPSLOCK2000

zie teletekst pagina 888

Owja, nog dit. Het is vreemd dat die testdisk tool die eerste partitie niet gevonden heeft. Dat sugereert dat er toch iets mis met de data aan het begin van de schijf. Als bovenstaande niet helpt kun je nog proberen een nieuwe partietabel aan te maken op die schijf, en daar dan fsck over te draaien.

This post is warranted for the full amount you paid me for it.


  • o_Omgwtf
  • Registratie: Januari 2009
  • Laatst online: 15-01 19:48
Bedankt voor de uitleg, heb het commando geprobeerd:

code:
1
2
3
4
5
daniel@server:~$ sudo mount -o loop,offset=32256 /media/sto1/samsung.dd /dev/samsung
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so


Helaas heb ik de schijf niet meer in bezit. Kan ik op de image die ik heb gemaakt ook een nieuwe partitietabel aanmaken?

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 22:35

CAPSLOCK2000

zie teletekst pagina 888

ja, met parted zou dat moeten kunnen.

This post is warranted for the full amount you paid me for it.


  • serkoon
  • Registratie: April 2000
  • Niet online

serkoon

mekker.

Als je niet de exacte offset weet van je filesystem, kun je dat redelijk eenvoudig brute-forcen:
code:
1
2
3
for i in `1000`; do
  mount -t ext3 -o loop,offset=`expr $i \* 512` samsung.dd /mnt
done

Zodoende kun je iig zeker weten dat je de juiste offset hebt gehad.
Pagina: 1