 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 05.02.2007, 18:13 Titel: Linux / Knoppix - Partition mounten |
|
|
Hallo,
ich habe hier eine Festplatte, auf der das NTFS-Dateisystem leider nicht mehr so funktioniert, wie es eigentlich sollte. Da Linux und insbesondere Knoppix wundersame Fähigkeiten zugemessen werden, wenn es darum geht, von beschädigten Platten noch Daten zu holen, wollt ich's mal damit probieren. OK, soweit so gut. Knoppix funktioniert auf dem PC prima. Die Systemplatte, wo normalerweise Windows drauf läuft (auch NTFS) kann ich lesen. Die eigentliche Festplatte, die ich aber lesen möchte, ist nicht zu finden. Mit ein bisschen Rumprobieren hab ich die WesternDigital WD3200JB und der großen NTFS-Partition darauf zwar gefunden, aber es nicht hinbekommen, darauf zuzugreifen. Ich vermute mal, dass ich die irgendwie mounten muss, aber keine Ahnung, wie das genau zu laufen hat. Für die Linux-Insider hier mal ein paar Screenshots:
http://home.arcor.de/ssteiner/qbforum/knoppix1.png
http://home.arcor.de/ssteiner/qbforum/knoppix2.png
http://home.arcor.de/ssteiner/qbforum/knoppix3.png
http://home.arcor.de/ssteiner/qbforum/knoppix4.png
Wie kann ich Daten von dieser Festplatte, die auf den Shots als "hdf" bzw. "hdf1" erscheint, lesen und woanders hinkopieren? Dass die Platte nicht so schön automatisch erkannt wurde wie die andere liegt vermutlich daran, dass die zu sichernde Platte an einem gesteckten Promise IDE-Controller hängt, da der OnBoard-IDE Controller mit der 320GB-Platte nicht klar kam...
Viele Grüße und danke schon mal!
Sebastian
PS: Dieses Posting hier schreib ich auch auf Linux... Firefox starten klappt also schon mal... Hehe ^ ^ _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 05.02.2007, 19:00 Titel: |
|
|
Hi Sebastian!
/dev/hdf ist nur die Festplatte und dev/hdf1 ist die erste Partition auf ihr, in deinem Falle, wie du sagst, wahrscheinlich NTFS.
Gerade ungetestet, da unter Windows, aber geh mal auf die Konsole und:
Code: |
sudo su -
mount /dev/hdf1 /mnt/hdf1
|
Ersterer Befehl scheint "doppeltgemoppelt" zu sein, aber sorgt dafür, dass du unter Knoppix(!) root-Rechte bekommst. Auf anderen Distro's kannst du das auch einfacher erlangen.
Sollte das nicht funzen, dann probier nochmal:
Code: |
sudo mount /dev/hdf1 /mnt/hdf1
|
Bzw. sollte irgendwas mit der Partition nicht stimmen, dann schau mal mit fdisk drüber:
Greets,
Mao _________________ Eine handvoll Glück reicht nie für zwei.
--

Zuletzt bearbeitet von Mao am 05.02.2007, 22:13, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 05.02.2007, 22:04 Titel: |
|
|
Huch, stimmt. Muss "/dev" heißen.
/edit:
Noch einen Fehler in der "fdisk-Aussage" entdeckt.
Ich hatte /dev/hdf1 angegeben, obwohl du dir die Festplatte anschauen müsstest.
Obiges ist jetzt alles korrigiert.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 08.02.2007, 21:00 Titel: |
|
|
Hm. Kannst du dann mal die Ausgabe posten, wenn du nur
öffnest (Einträge der bereits gemounteten Devices).
Und um nochmal direkt auf das Dateisystem zu sprechen zu kommen. Ein chkdsk hat nix gebracht? Und inwiefern "funktioniert" das System nicht mehr?
Greets,
Mao  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 08.02.2007, 21:18 Titel: |
|
|
Ui...
Ich glaub, Windows hat sich da die falsche MFT-Spiegelung ausgesucht.
Zitat: |
CHKDSK hat freien Speicher gefunden, der in der MFT-Bitmap jedoch als belegt gekennzeichnet ist.
|
[OT]
Im Moment überleg ich, ob ich erstmal ein Downgrade von XP zu 2000 mache und dann "linuxle".
[/OT]
Okay, dann bis dann.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 08.02.2007, 21:24 Titel: |
|
|
Die screenshots sind aber schon aaaaaaaalt  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 08.02.2007, 22:58 Titel: |
|
|
Käme dieser Fall in meine Werkstatt, würde Massnahme Nr. 1 sofort lauten: Erst einmal die Platte sektorenweise mit Data Lifeguard (spezifisch in diesem Fall, weil Western Digital-Platte) durchchecken (DOS-Version ab Startdiskette natürlich).
Falls irreparable Stellen gefunden wurden, dann kann man mit eigenen Mitteln eigentlich nur noch versuchen, unter Linux (Notfallsystem oder Knoppix) mittels
Code: | dd if=/dev/hda of=/dev/hdc bs=32768 conv=noerror,sync |
das noch Lesbare auf eine fabrikneue Austausch-Festplatte retten, soweit dies noch möglich ist, sonst ist das professionelle Datenrettungslabor angesagt, falls ganz wichtige Daten noch drauf sind, von denen es nirgends ein aktuelles Backup gibt.
Sobald sich alles auf einer sektormässig wieder einwandfreien Platte befindet, ist bei mir in der Regel
ab Wiederherstellungskonsole angesagt (erst hier und nicht schon früher), um die Inkonsistenzen zu beheben. Sobald dieser erfolgreich durch ist, dann gibt's den ersten Windows-Bootversuch. Dabei muss man sich durchaus auf Schutzverletzungs- bzw. Problembericht- oder gar Bluescreen-Fehler gefasst machen, weil die defekten Sektoren Bestandteile von .EXE/.DLL-Dateien erwischt haben können => dann muss man die jeweiligen Programme deinstallieren und neu einspielen, bei Windows selber eine Reparaturinstallation durchführen, falls auch dieses beschädigte Dateien hat. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 08.02.2007, 23:47 Titel: |
|
|
Die Platte ist hardwaremäßig in Ordnung. Data Life Guard habe ich bereits ohne Befund drüber laufen lassen. Wäre auch unwahrscheinlich, dass sie einen Hardwareschaden hat, da die Festplatte früher im RAID1-Verbund lief und beide Festplatten im Einzelbetrieb ohne Controller genau dieselben Fehler haben wie das Array. Ich habe eigentlich den Treiber des Controllers im Verdacht, dass irgendein Bug darin Teile des Arrays geshreddert hat. chkdsk bricht übrigens nach ein bisschen Wartezeit mit "unbekanntem Fehler" ab. Nur einmal (siehe Fotos) lief das komplett durch und danach war alles noch viel schlimmer als vorher. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 09.02.2007, 16:11 Titel: |
|
|
Also wenn da wirklich wichtiges drauf war, dann würde ich zumindest Schadenersatz beim Controller-Hersteller fordern. Natürlich nur in angemessenem Maße.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 09.02.2007, 16:31 Titel: |
|
|
Mao hat Folgendes geschrieben: | Also wenn da wirklich wichtiges drauf war, ... |
Mein Datenbestand 1996-2005
Zum Glück hatte ich von den allerwichtigsten Sachen (Sources von meinen Programmen, Schulsachen usw.) Backups gemacht (Hey, ich bin "smarter than the QBasic Nerd" ), die allerdings nicht alle auf dem neusten Stand waren... Trotz der paar Backup-CDs mit den wichtigsten Daten sind mir zig Gigabyte auch nicht unwichtige Daten verloren gegangen.
@Jojo: Hatte ich die hier schon mal gepostet? _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 09.02.2007, 16:40 Titel: |
|
|
Das nenn ich nen glücklichen Datenverlust
Bei mir muss auch erst eine Naturkatastrophe kommen, bevor ich mein Archiv lösch. Meins is aber erst seit ich meinen PC hab, das war 2002... |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 09.02.2007, 17:05 Titel: |
|
|
Ui, in dem Fall ist natürlich heftig.
Schadenersatz würd ich deswegen fordern.
Was für einen RAID-Controller hast du eigentlich verwendet? _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
PMedia
Anmeldungsdatum: 14.08.2006 Beiträge: 2847
|
Verfasst am: 09.02.2007, 18:46 Titel: |
|
|
So, mein Code funzt
Jojo hat zwei absolute Fakes dringehabt
Und für alle, die mitspieln wollen, hier der modifizierte FB-Code:
Code: | ''
'' simple http get example using the Winsock API
''
option explicit
option escape
#include once "win/winsock.bi"
const RECVBUFFLEN = 8192
const NEWLINE = "\r\n"
const DEFAULT_HOST = "www.saga-games.ath.cx"
declare sub gethostandpath ( src as string, hostname as string, path as string )
declare function resolveHost ( hostname as string ) as integer
'' globals
dim hostname as string
dim path as string
'' check command-line
gethostandpath command$, hostname, path
if( len( hostname ) = 0 ) then
hostname = DEFAULT_HOST
end if
'' init winsock
dim wsaData as WSAData
if( WSAStartup( MAKEWORD( 1, 1 ), @wsaData ) <> 0 ) then
print "Error: WSAStartup failed"
end 1
end if
'' resolve name
dim ip as integer
dim s as SOCKET
ip = resolveHost( hostname )
if( ip = 0 ) then
print "Error: resolveHost failed"
end 4
end if
'' open socket
s = opensocket( AF_INET, SOCK_STREAM, IPPROTO_TCP )
if( s = 0 ) then
print "Error:"; WSAGetLastError; " Calling: socket()"
end 3
end if
'' connect to host
dim sa as sockaddr_in
sa.sin_port = htons( 80 )
sa.sin_family = AF_INET
sa.sin_addr.S_addr = ip
if ( connect( s, cast( PSOCKADDR, @sa ), len( sa )) = SOCKET_ERROR ) then
print "Error:"; WSAGetLastError; " Calling: connect()"
closesocket( s )
end 2
end if
'' send HTTP request
dim sendbuffer as string
sendBuffer = "GET /" + path + " HTTP/1.1" + NEWLINE + _
"Host: " + hostname + NEWLINE + _
"User-Agent: MadeByMe/0.1 (non-compatible; NoBrowser 0.1; FakeOS)" + NEWLINE + _
"Connection: close" + NEWLINE + _
NEWLINE
if( send( s, sendBuffer, len( sendBuffer ), 0 ) = SOCKET_ERROR ) then
print "Error:"; WSAGetLastError; " Calling: send()"
closesocket( s )
end 1
end if
'' receive until connection is closed
dim recvbuffer as zstring * RECVBUFFLEN+1
dim bytes as integer
do
bytes = recv( s, recvBuffer, RECVBUFFLEN, 0 )
if( bytes <= 0 ) then
exit do
end if
'' add the null-terminator
recvbuffer[bytes] = 0
'' print buffer as a string
print recvbuffer
loop
print
'' close socket
shutdown( s, 2 )
closesocket( s )
'' quit winsock
WSACleanup
'':::::
sub gethostandpath( src as string, hostname as string, path as string )
dim p as integer
p = instr( src, " " )
if( p = 0 or p = len( src ) ) then
hostname = trim( src )
path = ""
else
hostname = trim( left( src, p-1 ) )
path = trim( mid( src, p+1 ) )
end if
end sub
'':::::
function resolveHost( hostname as string ) as integer
dim ia as in_addr
dim hostentry as hostent ptr
'' check if it's an ip address
ia.S_addr = inet_addr( hostname )
if ( ia.S_addr = INADDR_NONE ) then
'' if not, assume it's a name, resolve it
hostentry = gethostbyname( hostname )
if ( hostentry = 0 ) then
exit function
end if
function = *cast( integer ptr, *hostentry->h_addr_list )
else
'' just return the address
function = ia.S_addr
end if
end function
sleep |
Wie man erkennt, hab ich lediglich das Winsock-Beispiel httpget etwas verändert
// edit
Mir fällt grad auf, dass das irgendwie im falschen Board gelandet is
Kann das ein Mod ma bitte nach "Amiga- und C64-Browser auf meiner Webseite" verschieben?
Zuletzt bearbeitet von PMedia am 09.02.2007, 18:53, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 09.02.2007, 18:51 Titel: |
|
|
Sebastian hat Folgendes geschrieben: |
@Jojo: Hatte ich die hier schon mal gepostet? |
jap  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 09.02.2007, 19:32 Titel: |
|
|
@PMedia:
Also mal abundzu so 'nen Fake ist okay, aber wenn dann Aufforderungen wie "Spielt mal alle mit! " kommen, das find ich dann irgendwie unfair dem Seiteninhaber gegenüber.
Mag sein, dass ich so mit meiner Meinung alleine dastehe...
@Sebastian:
Ich denke bald mal, dass da nix mehr zu holen ist.
Sorry, wenn ich dir damit jetzt die Hoffnung ein wenig...ähm...mindere...
Aber das lässt sich vllt. am Besten mit einer verwelkenden Blume vergleichen (was ich auch immer nur für Ideen hab ):
Die Blütenblätter fallen nach für nach ab. Bemerkt man das rechtzeitig, oder es fällt nur eins ab, erkennt man normalerweise, wohin das fehlende Blatt gehört. Fallen aber alle aufeinmal oder ein Großteil ab, weiß man nicht mehr, welches man wohin ordnen muss...So ist es dann wohl auch hier.
Es ist nicht mehr eindeutig, zu welcher Datei die "Nodes" gehören. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|