• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] externe hd formatieren und als interne hd benutzen

Tooltime

Advanced Hacker
Na, dann zeig uns mal die Ausgaben von:
fdisk -l /dev/sdb
mount
cat /etc/fstab

Irgendwo muss da noch eine Verbindung zur externen Platte seien.
 
OP
M

mrehm

Hacker
hallo Tooltime

Code:
martin@linux-mt4c:~> su
Password:              
linux-mt4c:/home/martinrehm # fdisk -l /dev/sdb

Disk /dev/sdb: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc172711f                     

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2351    18876375    7  HPFS/NTFS
/dev/sdb2            2351        7296    39728713+   f  W95 Ext'd (LBA)
/dev/sdb5            2354        7296    39704647+  83  Linux
linux-mt4c:/home/martinrehm # mount
/dev/sda6 on / type ext3 (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda7 on /home type ext3 (rw,acl,user_xattr)
/dev/sda1 on /windows/C type fuseblk (rw,noexec,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdb5 on /local type ext3 (rw,noexec,nosuid,nodev,acl,user_xattr)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
securityfs on /sys/kernel/security type securityfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
linux-mt4c:/home/martinrehm # cat /etc/fstab
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part5 swap    swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part6 /    ext3       acl,user_xattr        1 1
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part7 /home    ext3       acl,user_xattr        1 2
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part1 /windows/C    ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
/dev/disk/by-id/usb-HTS54806_0M9AT00___________-0:0-part1 /media/disk          vfat       users,gid=users,umask=0002,utf8=true 0 0
/dev/disk/by-id/usb-HTS54806_0M9AT00___________-0:0-part5 /local               ext3       user,acl,user_xattr   1 2

so sieht es aus

Gruss

Martin
 

Tooltime

Advanced Hacker
Der Befehl fdisk -l /dev/sdb zeigt die Partionierung der USB-Platte:
Device Boot Start End Blocks Id System
/dev/sdb1 1 2351 18876375 7 HPFS/NTFS
/dev/sdb2 2351 7296 39728713+ f W95 Ext'd (LBA)
/dev/sdb5 2354 7296 39704647+ 83 Linux
Ich denke du hast alle Partitionen gelöscht, ist aber nicht mehr nötig. Wir editieren also manuell als root die Datei /etc/fstab mit einem beliebigen Texteditor, bitte keine Textverarbeitungen aus einem Office-Paket verwenden. Wenn du KDE benutzt kannst du auch einfach folgenden Befehl in einem Konsolenfenster eingeben:
  • kdesu kwrite /etc/fstab &
In der Datei /etc/fstab löscht du dann bitte die folgenden zwei Zeilen:
Code:
/dev/disk/by-id/usb-HTS54806_0M9AT00___________-0:0-part1 /media/disk          vfat       users,gid=users,umask=0002,utf8=true 0 0
/dev/disk/by-id/usb-HTS54806_0M9AT00___________-0:0-part5 /local               ext3       user,acl,user_xattr   1 2
Anschließend runterfahren, USB-Platte abziehen und wieder booten, das Notebook sollte jetzt ohne Fehler starten.
 
OP
M

mrehm

Hacker
operation ausgeführt, notebook startet ohne externe Festplatte.

zum Verständnis meinerseits:
ich habe die Partitionen gestern gelöscht nach manuellem umount /dev/sdb2 und /dev/sdb5.
yast forderte mich zum Bestätigen der Veränderungen der Partitionen auf > ok
Wie ich dann heute in den o.a. log-files sehen konnte, waren sdb1/2/5 immer noch eingetragen.
Ich habe nach dem Löschen ein reboot gemacht, das reicht wohl nicht aus?
Jetzt habe ich die Partitionen nochmal in yast gelöscht, den Comp runtergefahren und neu gestartet: that`s the way aha aha I like it?

Code:
linux-mt4c:/home/martinrehm # fdisk -l /dev/sdb
linux-mt4c:/home/martinrehm # mount
/dev/sda6 on / type ext3 (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda7 on /home type ext3 (rw,acl,user_xattr)
/dev/sda1 on /windows/C type fuseblk (rw,noexec,nosuid,nodev,allow_other,default_permissions,blksize=4096)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
securityfs on /sys/kernel/security type securityfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
linux-mt4c:/home/martinrehm # cat /etc/fstab
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part5 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part6 /                    ext3       acl,user_xattr        1 1
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part7 /home                ext3       acl,user_xattr        1 2
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part1 /windows/C           ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5

Gruss

Martin
 

Tooltime

Advanced Hacker
Schön das es geklappt hat und schon geht es weiter.

2. Übertragen der WIN-Partition
Das es auch unter Windows Dateien gibt bei denen es auf die exakte Position auf der Festplatte ankommt, übertragen wir nicht einfach den Inhalt der Partition, sondern kopieren die Partition Byteweise auf die neue Festplatte. Auf diese Weise bleibt die Kopie bootfähig. Zuvor muss allerdings eine entsprechende Partition auf dem Ziellaufwerk angelegt werden. Dabei tritt ein kleines Problem auf:
Code:
Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 1 957 7679070 7 HPFS/NTFS
Partition 1 endet nicht an einer Zylindergrenze.
Das bedeutet quasi, das unter normalen Umständen kein Tool eine derartige Partitionstabelle erzeugen wird. Das es mir zu kompliziert ist extra zu beschreiben wie man die nötigen Parameter abfragt und dann eine derartige schiefe Partition anlegt, kopieren wir einfach die Partitionstabelle von der alten Platte auf die neue. Anschließend löschen wir die überflüssigen Partitionen, da sie später beim vergrößern der WIN-Partition sowie so nur stören würden.

Achtung bevor man die folgenden Befehle einfach ausführt, bitte kontrollieren ob sie wirklich richtig eingetippt sind. Wird eine falsche Partitionstabelle auf ein Laufwerk geschrieben, ist der komplette Inhalt der Platte weg. Daher lieber zweimal schauen, als einfach mal probieren was passiert. Und im Zweifelsfall sollte man sich die man-page der verwendeten Befehle durchlesen, damit man weiß auf was man sich da einlässt. Natürlich müssen derartige Befehle als root ausgeführt werden, einem normalen Benutzer werden derartige Operationen nicht erlaubt.

Also um die Partitionstabelle zu übertragen, muss man nur die ersten 512 Bytes von der alten auf die neue Platte kopieren. Der passende Befehl dazu lautet:
  • dd if=/dev/sda of=/dev/sdb count=1 bs=512
Anschließend entfernen wir gleich wieder die Überflüssigen Partitionen auf sdb, so das sie nur die Partition sdb1 enthält. Dazu kann ein beliebiges Tool verwendet werden, im Zweifelsfall das mit dem man am besten umgehen kann. Sollten keine Partitionen angezeigt werden, einmal USB-Platte abziehen, kurz warten und Platte wieder einstecken. Per hotplug sollten die Partitionstabellen neu eingelesen werden. Ein sicheres entfernen ist nicht notwendig, da sich noch keine Dateisysteme auf der Platte befinden.

Das Kopieren der WIN-Partiton verläuft im Prinzip wie das Kopieren der Partitionstbelle, lediglich die Parameter müssen einwenig angepasst werden:
  • dd if=/dev/sda1 of=/dev/sdb1 bs=64k
Achtung, dd ist wie ich es nenne ein klassischer Unix-Befehl. Meldungen werden nur ausgeben wenn Fehler auftreten, bzw. am Ende eine kurze Zusammenfassung was der Befehl gemacht hat. Da du geschrieben hast das das Übertragen von 2.7GB etwa eine Stunde dauert (USB 1.1), dürfte das kopieren der WIN-Partition etwa 3 Stunden dauern. In diesen drei Stunden wird der Befehl dd nicht eine Meldung ausgeben, es sei denn ein Fehler tritt auf. Dieses Verhalten ist also normal und deutet nicht auf einen Absturz hin. Da die Partitionen beim Kopieren linear von vorne nach hinten gelesen werden, machen die Platten kaum Kopfbewegungen und verhalten sich ebenfalls ziemlich ruhig.

Zur Kontrolle würde ich Windows starten, dort sollte man ein Laufwerk-D finden, das vom Inhalt ein Abbild von Laufwerk-C sein sollte.

3.Vergrößern der WIN-Partition
Wie gesagt das habe ich noch nie gemacht, aber dafür sollte es genügend Tools geben die das können. Wobei meine Divise ist, ein Win-Filesystem bearbeite ich unter Windows und ein Linux-Filesystem bearbeite ich unter Linux. Sollte es Probleme geben dann melde dich hier, ansonsten erstmal viel Glück beim vergrößern der Partition auf 18GB und ich fange schon mal an den nächsten Schritt aus zu arbeiten.
 
OP
M

mrehm

Hacker
das checke ich morgen

für jedes Tor vom FCPorto gg. die Türken von Fenerbahce gab es einen Whisky, also gleich 3 und noch einen für den Sieg.

besser nüchtern arbeiten!

Gruss

Martin
 
OP
M

mrehm

Hacker
@ Tooltime!

können wir mit dem 'Untericht' - super! Danke! - am Wochenende weiter machen?
bin gerade voll in der Maloche und komme erst abends nach einigen Bierchen/Drinks nach Hause

Ich werde die win-Partition am Samstag kopieren; wenn Du willst, geht es dann weiter

Gruss

Martin
 
OP
M

mrehm

Hacker
hi Tooltime!

ein bisschen chaotisch, die Vorgehensweise.
nach Deiner Anleitung mit
Code:
dd if=/dev/sda of=/dev/sdb count=1 bs=512
und
Code:
dd if=/dev/sda1 of=/dev/sdb1 bs=64k
war weder in linux noch in winxp eine partition auf der ext. HD zu finden.
in winxp wurde das Laufwerk e:/ angezeigt, (d:/ ist das cdrom) Meldung
Code:
Die Datenträgerstrukur ist beschädigt und nicht lesbar

Nach einem 2. Versuch wurde das Laufwerk nicht mehr erkannt, weder in linux noch in winxp.

Dann habe ich mit yast die ext. hd auf 18GB mit FAT formatiert und eine primäre Partition /sdb1 eingerichtet und das Prozedere wiederholt.
Jetzt kann ich in winxp auf e:/ zugreifen; es ist ein Abbild von c:/windows,genau die gleichen Daten drauf.
in Linux kann ich ebenfalls auf die Daten zugreifen mit dem Dateimanager Dolphin; zb kann ich das gespeicherte Dokument
Code:
/media/disk-1/Dokumente und Einstellungen/xp/Eigene Dateien/mydocs/Erste Schritte - Google Earth-Nutzerhandbuch.htm
aufrufen usw und zb openoffice in verbindung mit abgespeicherten Dokumenten starten.

Code:
linux-mt4c:/home/martinrehm # fdisk -l

Platte /dev/sda: 20.0 GByte, 20003880960 Byte
255 Köpfe, 63 Sektoren/Spuren, 2432 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0xa20ea20e

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1               1         957     7679070    7  HPFS/NTFS
Partition 1 endet nicht an einer Zylindergrenze.
/dev/sda2   *         957        2432    11855907+   f  W95 Erw. (LBA)
/dev/sda5             957        1020      514017   82  Linux Swap / Solaris
/dev/sda6            1021        1673     5245191   83  Linux
/dev/sda7            1674        2432     6096636   83  Linux
Warnung: ignoriere weitere Daten in Partitionstabelle 5
Warnung: ignoriere weitere Daten in Partitionstabelle 5
Warnung: ignoriere weitere Daten in Partitionstabelle 5
Warnung: Schreiben wird ungültiges Flag 0x7777 in Part.-tabelle 5 korrigieren

Platte /dev/sdb: 60.0 GByte, 60011642880 Byte
255 Köpfe, 63 Sektoren/Spuren, 7296 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x7103c27e

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1               1         957     7679070    7  HPFS/NTFS
Partition 1 endet nicht an einer Zylindergrenze.
/dev/sdb2 * 957 2432 11855907+ f W95 Erw. (LBA)
/dev/sdb5 ? 192451 364168 1379318718+ 77 Unbekannt
[/code]

Code:
linux-mt4c:/home/martinrehm # mount
/dev/sda6 on / type ext3 (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda7 on /home type ext3 (rw,acl,user_xattr)
/dev/sda1 on /windows/C type fuseblk (rw,noexec,nosuid,nodev,allow_other,default_permissions,blksize=4096)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
securityfs on /sys/kernel/security type securityfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb1 on /media/disk-1 type ntfs (rw,nosuid,nodev,uid=1000)

Code:
linux-mt4c:/home/martinrehm # cat /etc/fstab
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part5 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part6 /                    ext3       acl,user_xattr        1 1
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part7 /home                ext3       acl,user_xattr        1 2
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part1 /windows/C           ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
 

Tooltime

Advanced Hacker
mrehm schrieb:
ein bisschen chaotisch, die Vorgehensweise.
Da ist eigentlich gar nichts chaotisch dran. Es ging nur darum eine Partition sdb1 zu erzeugen, mit exakt passender Größe zum kopierenden Filesystem. Da die Quellpartition aber nicht auf einer Zylindergrenze endet, verweigern die meisten Tools eine derartige Partition zu erstellen. Also war das einfache Kopieren der Partitionstabelle für mich die einfachste Lösung. Sie enthält zwar nur die Einträge für die primären Partitionen (1-4), aber mehr brauchen wir auch nicht und sie befindet sich im MBR.
Siehe hierzu Handbuch auf der Festplatte:
file:///usr/share/doc/manual/opensuse-manual_de/manual/cha.grub.html#sec.grub.select
Mir war aber auch klar das man unter Umständen den Kernel ersteinmal dazu bewegen muss die Partitionstabelle neu ein zu lesen, um die entsprechenden Gerätedateien zu erzeugen. Deshalb habe ich folgendes geschrieben:
Tooltime schrieb:
Anschließend entfernen wir gleich wieder die Überflüssigen Partitionen auf sdb, so das sie nur die Partition sdb1 enthält. Dazu kann ein beliebiges Tool verwendet werden, im Zweifelsfall das mit dem man am besten umgehen kann. Sollten keine Partitionen angezeigt werden, einmal USB-Platte abziehen, kurz warten und Platte wieder einstecken. Per hotplug sollten die Partitionstabellen neu eingelesen werden. Ein sicheres entfernen ist nicht notwendig, da sich noch keine Dateisysteme auf der Platte befinden.
Und so wie ich das sehe hast du diesen Absatz einfach ignoriert, sonst wäre jetzt auf der neuen Platte nicht eine erweiterte und eine logische Partition (sdb2, sdb5). Anderseits kann man aber auch erkennen, das das Kopieren der Partitionstabelle funktioniert hat. Die Definition der Partitionen sdb1, sdb2 entsprechen exakt in Größe und Position denen von sda1, sda2.
Code:
   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1               1         957     7679070    7  HPFS/NTFS
Partition 1 endet nicht an einer Zylindergrenze.
/dev/sda2   *         957        2432    11855907+   f  W95 Erw. (LBA)

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1               1         957     7679070    7  HPFS/NTFS
Partition 1 endet nicht an einer Zylindergrenze.
/dev/sdb2 * 957 2432 11855907+ f W95 Erw. (LBA)
Daher ist auch das neue WIN-C Laufwerk momentan genauso groß wie das alte und hat nicht die gewünschten 18GB. Würde mich interressieren ob ich mit meiner Vermutung richtig liege, das du den oben genannten Absatz vergessen hast?

Wie geht es weiter:
Partitionen sdb5 und sdb2 löschen, so das die neue Platte nur noch die Partition sdb1 enthält. Mit einem Tool deiner Wahl das WIN-C Laufwerk (sdb1) auf 18GB erweitern. Also wenn das nächste mal ein Problem auftritt bitte gleich melden, dann kriegen wir auch raus woran es wirklich liegt.
 
OP
M

mrehm

Hacker
Mit `chaotisch' meinte ich mich selber...

fdisk -l sagt

Code:
Platte /dev/sdb: 60.0 GByte, 60011642880 Byte
255 Köpfe, 63 Sektoren/Spuren, 7296 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x7103c27e

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1               1         957     7679070    7  HPFS/NTFS
Partition 1 endet nicht an einer Zylindergrenze.
/dev/sdb2   *         957        2432    11855907+   f  W95 Erw. (LBA)
/dev/sdb5   ?      192451      364168  1379318718+  77  Unbekannt

yast hingegen zeigt mir an

Code:
/dev/sdb      55,8GB
/dev/sdb1     7,3GB          linux native        /media/disk-1
/dev/sdb2      0,0MB         linux native

weiterhin sagt yast
Code:
Die Partitionierung auf Festplatte /dev/sdb kann mit dem Partitionierungswerkzeug 'parted' nicht gelesen werden, das zum Ändern der Partitionstabelle verwendet wird
Sie können die Partitionen auf Festplatte /dev/sdb unverändert übernehmen. Sie können sie formatieren und ihnen Einhängepunkte zuweisen. Sie können mit diesem Werkzeug jedoch keine Partitionen auf dieser Festplatte hinzufügen, bearbeiten, entfernen oder in der Größe ändern

What to do?

Gruss

Martin
 

Tooltime

Advanced Hacker
Dann ändern wir die Partionierung mit fdisk. Zeilen die mit "#" beginnen enthalten die Erklärung der darunter stehenden Tastenkombinationen.
  • # Befehl zum starten von fdisk und einlesen Partitionstabelle
    fdisk /dev/sdb
    # löschen Partition 2
    d-Taste drücken
    2-Taste drücken
    # Partitionstabelle anzeigen, es sollte nur noch sdb1 vorhanden sein
    p-Taste drücken
    # Wenn alles Ok ist, Partitionstabelle auf Platte zurückschreiben und Programm beenden.
    w-Taste drücken
    # Sonst Programm beenden ohne die Partitionstabelle auf der Platte zu verändern.
    q-Taste drücken
 
OP
M

mrehm

Hacker
aha, so geht es:


Code:
linux-mt4c:/home/martinrehm # fdisk -l /dev/sdb

Disk /dev/sdb: 60.0 GB, 60011642880 bytes
1 heads, 63 sectors/track, 1860480 cylinders
Units = cylinders of 63 * 512 = 32256 bytes
Disk identifier: 0x7103c27e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               2      243781     7679070    7  HPFS/NTFS

Allerdings kann ich mit yast die Partitionsgröße nicht ändern

Code:
fehler
Die Größe kann nicht verändert werden:
ntfsresize v1.13.1 (linntfs9:0;0)
ERROR: Device /dev/sdb1 is mounted read/write. You must umount it first

Klick auf ok

Code:
Fehler
Die Größe von Partition /dev/sdb1 kann nicht geändert werden, da das Dateisystem inkonsistent zu sein scheint

Code:
linux-mt4c:/home/martinrehm # umount /dev/sdb1

geht dann auch nicht.
Sollte ich mir ein Windows-Tool zulegen?
Wenn es nicht gehen sollte, stört es mich auch nicht, dann haben wir halt mehr Platz für Linux

Gruss
Martin
 
OP
M

mrehm

Hacker
Ich habe unter Windows die Partition vergrössert auf 17,6GB mit dem EASEUS Partition Manager, zu finden inhttp://www.download.com

WinXP zeigt mir auch brav an

Code:
Lokaler Datenträger E:
Dateisystem NTFS
Freier Speicher 11.4 GB
Gesamtgrösse 17.6 GB

yast bestätigt dieses, nur dass die Festplatte jetzt /dev/sdc und die Partition /dev/sdc1 heisst, /dev/sdb gibt es nicht mehr

in der Konsole folgende Ausgaben

Code:
linux-mt4c:/home/martinrehm # cat /etc/fstab
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part5 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part6 /                    ext3       acl,user_xattr        1 1
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part7 /home                ext3       acl,user_xattr        1 2
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part1 /windows/C           ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
/dev/sdb1            /media/disk-1        ntfs-3g    users,gid=users,umask=0002,utf8=true 0 0
linux-mt4c:/home/martinrehm # fdisk -l /dev/sdc

Platte /dev/sdc: 60.0 GByte, 60011642880 Byte
255 Köpfe, 63 Sektoren/Spuren, 7296 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x7103c27e

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdc1               1        2299    18466686    7  HPFS/NTFS
linux-mt4c:/home/martinrehm # fdisk-l /dev/sdc1
bash: fdisk-l: command not found
linux-mt4c:/home/martinrehm # fdisk -l /dev/sdc1

Platte /dev/sdc1: 18.9 GByte, 18909886464 Byte
255 Köpfe, 63 Sektoren/Spuren, 2298 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x444c544e

Das sieht nicht wie eine Partitionstabelle aus.
Sie haben wahrscheinlich das falsche Gerät ausgewählt.

     Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdc1p1   ?      110102      110577     3815730+  6b  Unbekannt
Partition 1 endet nicht an einer Zylindergrenze.
/dev/sdc1p2   ?      113965      200777   697317940+  75  PC/IX
Partition 2 endet nicht an einer Zylindergrenze.
/dev/sdc1p3   ?      106997      106998        1286+  41  PPC PReP Boot
Partition 3 endet nicht an einer Zylindergrenze.
/dev/sdc1p4          175983      175986       26459    0  Leer
Partition 4 endet nicht an einer Zylindergrenze.

Partitionstabelleneinträge sind nicht in Platten-Reihenfolge

:???:

Ich lasse da jetzt in WinXP mal ein defrag durchlaufen und wünsche einen schönen Sonntag

Gruss

Martin
 
OP
M

mrehm

Hacker
Tja, jetzt habe ich mir beim reset 1 Bier geholt und grub war schneller als ich und hat wieder die Suse geladen. Also habe ich noch mal gecheckt. /dev/sdc gibts nicht mehr, jetzt heisst die Platte wieder /dev/sdb, auch in yast.

Code:
Disk /dev/sdb: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x7103c27e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2299    18466686    7  HPFS/NTFS
linux-mt4c:/home/martinrehm # fdisk -l /dev/sdb

Disk /dev/sdb: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x7103c27e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2299    18466686    7  HPFS/NTFS
linux-mt4c:/home/martinrehm # fdisk -l /dev/sdb1

Disk /dev/sdb1: 18.9 GB, 18909886464 bytes
255 heads, 63 sectors/track, 2298 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x444c544e

This doesn't look like a partition table
Probably you selected the wrong device.

     Device Boot      Start         End      Blocks   Id  System
/dev/sdb1p1   ?      110102      110577     3815730+  6b  Unknown
Partition 1 does not end on cylinder boundary.
/dev/sdb1p2   ?      113965      200777   697317940+  75  PC/IX
Partition 2 does not end on cylinder boundary.
/dev/sdb1p3   ?      106997      106998        1286+  41  PPC PReP Boot
Partition 3 does not end on cylinder boundary.
/dev/sdb1p4          175983      175986       26459    0  Empty
Partition 4 does not end on cylinder boundary.

Partition table entries are not in disk order
linux-mt4c:/home/martinrehm # cat /etc/fstab
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part5 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part6 /                    ext3       acl,user_xattr        1 1
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part7 /home                ext3       acl,user_xattr        1 2
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part1 /windows/C           ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
/dev/sdb1            /media/disk-1        ntfs-3g    users,gid=users,umask=0002,utf8=true 0 0
linux-mt4c:/home/martinrehm #

:schockiert:
 

Tooltime

Advanced Hacker
Scheint ja so weit funktioniert zu haben. Aber ich habe da eine kleine Anmerkung. Der Befehl fdisk -l /dev/sdb1 ergibt keinen Sinn. Das bedeutet, zeig mir mal die Partitionierung der Festplattenpartition 1 von der Platte sdb. Allgemein wird eine Partition nicht in weitere Unterpartitionen unterteilt. Und nun geht es weiter im Programm.


4. Anlegen der Linux-Partitionen
Zum Partitionieren gibt es nicht viel zu sagen, das hatten wir jetzt schon ein paar mal. Die einzelnen Partitionen, bis auf sdb1 die sollte ja schon existieren, bitte nach folgenden Schema angelegen:
Code:
        Partition    Typ         Filesystem    Größe         Name/Mountpoint
        sdb1         primär      NTFS          18   GB       Win-C (bereits vorhanden)
        sdb2         primär      ext3          10   GB       root
        sdb3         primär      SWAP          1.5  GB       SWAP-Linux
        sdb4         erweitert   keins         27   GB       Erweiterte Partition (Container für sdb5)
        sdb5         logisch     EXT3          27   GB       /home
Wichtig ist hierbei, das die Partitionen auch entsprechend formatiert werden, aber keinen Einhängepunkt zugewiesen bekommen. Sonst bekommt das System auf der alten Platte wieder eine Abhängigkeit, so das dieses nicht alleine lauffähig ist (wie zuvor /local-Filesystem). Im Zweifelsfall nochmal testen ob das System noch ohne USB-Platte problemlos startet.


5. Übertragen der Linux-Daten auf die neuen Partitionen
Um sicher zu gehen das während der Übertragung keine Daten verändert werden können, erfolgt diese im single user mode. Zwar steht dann nur die Textkonsole zur Verfügung, aber keine Dienste oder andere user-Prozesse laufen im Hintergrund und damit ist niemand aktiv der die Dateisysteme verändern kann. Die Übertragung selber erfolgt mit einer Kombination aus Backup und Restore, ohne das Backup auf einen Datenträger zu speichern. Auf diese Weise bleiben die orginal Attribute einer Datei erhalten im Gegensatz zu einem einfachen Kopiervorgang.

Bei ext2/ext3-Dateisystemen ist meiner Meinung nach die dunp/restore-Kombination die schnellste Methode um komplette Filesysteme zu übertragen. Also werden wir diese auch benutzen. Bei dem restore-Befehl gilt es zu beachten, das kein Ausgabepfad angegeben werden kann. Das backup wird an der Stelle eingespielt von wo der Befehl aufgerufen wird (aktueller Pfad der Konsole).

Also kontrollieren ob das Paket dump bereits installiert ist, wenn nicht dann bitte installieren. Anschließend bringen wir das System in den single user mode, dazu gibt man entweder beim Bootmenü einfach 1 als Parameter an (Runlevel der gestartet werden soll), oder bei einen laufenden System meldet man sich von der grafischen Oberfläche ab, wechselt mit Alt+Strg+F1 auf die erste Textkonsole, meldet sich als root an und gibt den Befehl telinit 1 ein. Den weiteren Vorgang werde ich im Stil eines Shellscript beschreiben, also Kommentare was gemacht wird beginnen mit dem #-Zeichen, Zeilen ohne dieses Zeichen enthalten die entsprechende Befehlskombination.

  • ### Übertragen des root-Filsystem ###
    #
    # manuelles einbinden des neuen root-Filsystem
    mount /dev/sdb2 /mnt
    #
    # wechseln in neues root-Filsystem für restore
    cd /mnt
    #
    # Aktuellen Ausgabepfad kontrollieren: /mnt
    pwd
    #
    # Übertragen des root-Filesystem
    dump -0a -b 64 -f - / | restore -b 64 -rf -
    #
    # vor unmounten in ein anderes Verzeichnis wechseln
    cd
    #
    # neues root-Filsystem unmounten
    umount /mnt
    #
    #
    ### Übertragen des home-Filsystem ###
    #
    # manuelles einbinden des neuen home-Filsystem
    mount /dev/sdb5 /mnt
    #
    # wechseln in neues home-Filsystem für restore
    cd /mnt
    #
    # Aktuellen Ausgabepfad kontrollieren: /mnt
    pwd
    #
    # Übertragen des home-Filesystem
    dump -0a -b 64 -f - /home | restore -b 64 -rf -
    #
    # vor unmounten in ein anderes Verzeichnis wechseln
    cd
    #
    # neues home-Filsystem unmounten
    umount /mnt

Dazu gibt es noch zwei Sachen an zu merken. Erstens der restore-Befehl wird jedesmal bemängeln das das Verzeichnis lost+found bereits existiert was aber völlig normal ist. Zweitens der dump-Befehl wird ca. alle 6 Minuten eine Statusmeldung ausgeben um über den Fortschritt zu imformieren.

Und schon sind wir mit diesen Punkt fertig. Wiedermal viel geschrieben, aber eigentlich nur wenige Befehle die man ausführen muß. Hätte ich ja bei nahe vergessen, Rechner wieder zurück in den grafischen Betriebsmodus mit
telinit 5
 
OP
M

mrehm

Hacker
Das hat alles funktioniert und ist auch auf der 2. Platte drauf: winxp, /root und /home und, kurz angetestet um diese späte Uhrzeit, zb. Musik von /dev/sdb5 spielbar mit einfachem Aufruf im Dateimanager


dump -0a -b 64 -f - /home | restore -b 64 -rf -

rief sich nach dem ersten Durchlauf noch mal auf, nachdem dort jede Menge Musikdateien mit

Code:
Operation not supported

durchliefen und auch viele kde- und browserdateien

im zweiten Durchlauf das gleiche Spiel, aber dann war die Kommandozeile benutzbar und die Dateien waren alle verfügbar - den opera-cache habe ich natürlich nicht verfolgt

Kannst Du mir erklären, warum Du die Festplattenpartitionierung gegenüber /sda mit win auf der primären und dem gesamten linux auf der erweiterten Partition verändert hast zu 3 primären Partitionen auf /sdb und für win, /root und /swap und /home auf der erweiterten Partition?

Danke für Deine Hilfe

Gruss

Martin
 

Tooltime

Advanced Hacker
mrehm schrieb:
Kannst Du mir erklären, warum Du die Festplattenpartitionierung gegenüber /sda mit win auf der primären und dem gesamten linux auf der erweiterten Partition verändert hast zu 3 primären Partitionen auf /sdb und für win, /root und /swap und /home auf der erweiterten Partition?
Nach Standard-PC-Design kann eine Festplatte maximal vier primäre Partitionen besitzen, wobei man frei wählen kann welche dieser vier automatisch gebootet wird, in dem man sie in der Partitionstabelle als aktiv markiert. Eine erweiterte Partition macht also eigentlich nur Sinn wenn man mehr als 4 Partitionen benötigt, bzw. wenn man die vierte Partition als logische Partition in der erweiterten Partition einrichtet, falls man sie später in kleinerer Partitionen aufteilen will. Natürlich gibt es eine namenhafte Ausnahme, die Probleme kriegt sobald mehr als eine primäre Partition ein FAT-Dateisystem enthält. Vielleicht soll das aber auch nur ein Alibi dafür sein, möglichst schnell eine erweiterte Partition anlegen zu können, um eine PC-Konforme-Installation eines weiteren Betriebssystem zu verhindern. Alternative Betriebssysteme oder Bootloader sind dann gezwungen als Startpunkt den MBR zu wählen, den besagte Ausnahme gerne einfach mal überschreibt, ist ganz bestimmt nur ein Versehen.

MBR:
Master boot record siehe auf deiner Festplatte unter:
  • /usr/share/doc/manual/opensuse-manual_de/manual/cha.grub.html
Der praktische Vorteil eines root-Filesystem in einer primären Partition besteht darin, das der Bootloader direkt in die root-Partition installiert werden kann. Muss man z.B eine Win-Version neu aufsetzen, so wird während der Installation nicht mehr der Linux-Bootloader überschrieben, sondern aus Sicht von Linux nur die aktive Partition geändert. Markiert man in der Partitionstabelle wieder die Linux-Partition als Aktive, so wird Linux wieder ohne Probleme starten. Und das schönste ist ja, das die Partitionstabelle nicht vom Betriebssystem abhängt. Damit kann man mit einen beliebigen Partionierungstool unter einen beliebigen Betriebssystem, nach einer Win-Installation Linux wieder startfähig bekommen. Ein Vorteil den man unbedingt nutzen sollte, solange anderen Faktoren nicht dagegen sprechen.


Damit es weiter gehen kann zeig mal den Inhalt der folgenden Dateien mit den cat-Befehl:
cat /etc/fstab
cat /boot/grub/device.map
cat /boot/grub/menu.lst

Und bitte beim posten jede Ausgabe einzeln als Code markieren, nicht das ich in einem Code-Fenster ständig hin und her scrollen muss um den Anfang oder Ende einer einzelnen Datei zu finden.
 
OP
M

mrehm

Hacker
Monopolist am Werk!

Code:
linux-mt4c:/home/martinrehm # cat /etc/fstab
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part5 swap                 swap       defaults              0 0
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part6 /                    ext3       acl,user_xattr        1 1
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part7 /home                ext3       acl,user_xattr        1 2
/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part1 /windows/C           ntfs-3g    users,gid=users,fmask=133,dmask=022,locale=de_DE.UTF-8 0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

Code:
linux-mt4c:/home/martinrehm # cat /boot/grub/device.map
(hd0)   /dev/sda

Code:
linux-mt4c:/home/martinrehm # cat /boot/grub/menu.lst
# Modified by YaST2. Last modification on Sat Sep 13 23:06:11 WEST 2008
default 0
timeout 8
gfxmenu (hd0,5)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.0 - 2.6.25.16-0.1
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.25.16-0.1-default root=/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part6 resume=/dev/sda5 splash=silent showopts vga=0x317
    initrd /boot/initrd-2.6.25.16-0.1-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.0 - 2.6.25.16-0.1
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.25.16-0.1-default root=/dev/disk/by-id/scsi-SATA_IC25N020ATCS04-_CSH204DMJDURVB-part6 showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off x11failsafe vga=0x317
    initrd /boot/initrd-2.6.25.16-0.1-default

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
    rootnoverify (hd0,5)
    chainloader (hd0,0)+1
 
Oben