• 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]Windows entfernen und freie Partitionen verwenden

halo44

Hacker
Ehe ich auf meinem Rechner grösseren Schaden anrichte, möchte ich Euch bitten mir zu meinem folgenden Vorhaben zu raten :

Auf meinem Desktop-Rechner hatte ich auf der 160-GB-Platte ursprünglich nur Windows 7 installiert. Irgendwann habe ich dann noch eine zweite Platte mit 320 GB eingebaut. Diese sollte hauptsächlich als Datenplatte dienen.

Fragt mich bitte nicht, warum die erste Platte inzwischen als /dev/sdb und die zweite Platte als /dev/sda angesprochen wird. Auf jeden Fall wurde mir dies erst bewusst, als ich Linux (openSuse) auf der zweiten Platte installiert hatte. Später installierte ich noch Kubuntu ebenfalls auf dieser Platte.

Diese Platte (sda) enthält jetzt neben zwei Datenpartitionen (sda3+sda4), die home- und root-Partitionen von openSuse (sda2+sda6), die home- und root-Partitionen von Kubuntu (sda8+sda7), eine eigene boot-Partition für Kubuntu (sda9) und eine gemeinsame swap-Partition (sda5).

Der MBR meines Desktops, von dem aus gebootet wird, befindet sich auf der anderen Platte, also sdb. Dies ist vermutlich so, weil ich dort als erstes Betriebssystem Windows 7 laufen hatte.

Diese Platte möchte ich nun "aufräumen" und den gewonnenen Platz nutzen.

Die erste Partition (sdb1) ist nur 100 MB gross und wird unter Windows mit "Windows systemreserviert" bezeichnet. Dann folgt das Windows-Volume-C (sdb2). Weiter zwei bereits unter Linux genutzte Datenpartitionen (sdb3+sdb6). Dann noch eine virtuelle Windows-XP-Festplatte (sdb5). Zu guter letzt noch eine Windows-Datenpartition(sdb7).

Hier mal die zugehörige Ausgabe von fdisk -l :

Code:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 Köpfe, 63 Sektoren/Spur, 38913 Zylinder, zusammen 625142448 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0cbddace

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1       369258494   480456703    55599105    f  W95 Erw. (LBA)
/dev/sda2              63    84052142    42026040   83  Linux
/dev/sda3        84068145   369254024   142592940   83  Linux
/dev/sda4       480472020   625137344    72332662+  83  Linux
/dev/sda5       369258496   373479423     2110464   82  Linux Swap / Solaris
/dev/sda6       373481472   415427185    20972857   83  Linux
/dev/sda7       415428608   457385983    20978688   83  Linux
/dev/sda8       457388032   478351359    10481664   83  Linux
/dev/sda9   *   478353408   480456703     1051648   83  Linux

Partitionstabelleneinträge sind nicht in Platten-Reihenfolge

Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 Köpfe, 63 Sektoren/Spur, 19457 Zylinder, zusammen 312581808 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd18c0ac9

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1            2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sdb2   *      206848    94572657    47182905    7  HPFS/NTFS/exFAT
/dev/sdb3        94574655   243722114    74573730   83  Linux
/dev/sdb4       243734528   312578047    34421760    f  W95 Erw. (LBA)
/dev/sdb5       243736576   264701399    10482412    7  HPFS/NTFS/exFAT
/dev/sdb6       300058624   312578047     6259712   83  Linux
/dev/sdb7       264703068   300046004    17671468+   7  HPFS/NTFS/exFAT

Partitionstabelleneinträge sind nicht in Platten-Reihenfolge

Ich bin etwas unsicher, ob ich gefahrlos unter openSuse mit YaST --> Partitionierer die Partitionen sdb1, sdb2, sdb5 und sdb7 löschen kann, weil der "aktive" MBR auf dieser Platte liegt. Ist der vielleicht irgendwie mit der sogenannten "Windows systemreservierten" Partition verbandelt?

Sicher könnt Ihr mir gut raten. Hierfür schon mal meinen Dank.

Gruss H.
 

josef-wien

Ultimate Guru
halo44 schrieb:
Fragt mich bitte nicht, warum ...
Zeige das Ergebnis des als root unter openSUSE ausgeführten Befehls:
Code:
hwinfo --disk | egrep "Device Files:|BIOS id:|Driver:"
halo44 schrieb:
ob ich gefahrlos ... sdb1, sdb2, sdb5 und sdb7 löschen kann
Wenn Du die Daten nicht mehr brauchst, kannst Du es problemlos tun. Im MBR ist GRUB[2] installiert, der MBR hat mit Windows nichts zu tun.

Da Du den frei werdenden Platz für andere Zwecke verwenden willst, solltest Du uns Deine geplante Ziel-Partitionierung verraten.
 
OP
H

halo44

Hacker
josef-wien schrieb:
Zeige das Ergebnis des als root unter openSUSE ausgeführten Befehls:
Code:
hwinfo --disk | egrep "Device Files:|BIOS id:|Driver:"

Das Ergebnis :

Code:
 Driver: "ahci", "sd"
  Device Files: /dev/sda, /dev/disk/by-id/ata-WDC_WD3200AAJS-00L7A0_WD-WMAV2R431889, /dev/disk/by-id/scsi-SATA_WDC_WD3200AAJS-_WD-WMAV2R431889, /dev/disk/by-path/pci-0000:00:0e.0-scsi-0:0:0:0, /dev/disk/by-id/wwn-0x50014ee0021a329e
  BIOS id: 0x81
  Driver: "ahci", "sd"
  Device Files: /dev/sdb, /dev/disk/by-id/ata-ST3160318AS_9VMAQLYX, /dev/disk/by-id/scsi-SATA_ST3160318AS_9VMAQLYX, /dev/disk/by-path/pci-0000:00:0e.0-scsi-3:0:0:0, /dev/disk/by-id/wwn-0x5000c5001fad23c7
  BIOS id: 0x80
  Driver: "usb-storage", "sd"
  Device Files: /dev/sdc, /dev/disk/by-id/usb-Generic_USB_SD_Reader_058F312D81B-0:0, /dev/disk/by-path/pci-0000:00:04.1-usb-0:8:1.0-scsi-0:0:0:0
  Driver: "usb-storage", "sd"
  Device Files: /dev/sdd, /dev/disk/by-id/usb-Generic_USB_CF_Reader_058F312D81B-0:1, /dev/disk/by-path/pci-0000:00:04.1-usb-0:8:1.0-scsi-0:0:0:1
  Driver: "usb-storage", "sd"
  Device Files: /dev/sde, /dev/disk/by-id/usb-Generic_USB_SM_Reader_058F312D81B-0:2, /dev/disk/by-path/pci-0000:00:04.1-usb-0:8:1.0-scsi-0:0:0:2
  Driver: "usb-storage", "sd"
  Device Files: /dev/sdf, /dev/disk/by-id/usb-Generic_USB_MS_Reader_058F312D81B-0:3, /dev/disk/by-path/pci-0000:00:04.1-usb-0:8:1.0-scsi-0:0:0:3
  Driver: "usb-storage", "sd"
  Device Files: /dev/sdg, /dev/disk/by-id/usb-Generic_Flash_Disk_66F8C741-0:0, /dev/disk/by-path/pci-0000:00:04.1-usb-0:9:1.0-scsi-0:0:0:0, /dev/usbstick
  BIOS id: 0x82

josef-wien schrieb:
Da Du den frei werdenden Platz für andere Zwecke verwenden willst, solltest Du uns Deine geplante Ziel-Partitionierung verraten.

Das schwebt mir bis jetzt nur in groben Zügen vor :

Ich möchte die Datenpartition (sda3) auf die andere Platte (sdb) verlegen. Wenn dann eine Platte mal den "Geist aufgibt", sind entweder die Betriebssysteme oder die Daten verloren.

Auf der anderen Platte (sdb) liegt eine per rsync mehr oder weniger regelmäßig synchronisierte Kopie der Datenpartition unter (sdb3) vor.

Sowohl die Datenpartition als auch ihre Kopie sind mit dm-crypt/LUKS mit identischen Passphrasen verschlüsselt. Am einfachsten wäre es also die beiden jeweils nur auf den anderen Namen umzubenennen, wenn die Verschlüsselung das ohne Schaden überstehen würde. Dies ist gleich eine weitergehende Frage.

Da aber beide Partitionen ungleich gross sind und eine Erweiterung der kleineren Partition vermutlich der Verschlüsselung wegen nicht möglich ist, muß ich eventuell zumindest bei dieser die Verschlüsselung erneut vornehmen.

Weiter möchte ich meinem Thunderbird eine eigene Partition für seinen Profilordner gönnen. Bisher liegt dieser in meiner home-Partition, was zur Folge hat, daß Daten verloren gehen, wenn ich mal eine "alte" Version der home- und root-Partition zurückladen muß, weil ich bei Installationsversuchen mein System zerschossen habe.

Die Sicherungen und Rücksicherungen meiner home- und root-Partition führe ich jeweils vom anderen OS (Kubuntu bzw. openSuse) als tar-Archiv durch. Diese gebe ich auf eine externe Festplatte aus bzw. lese sie von dort. Ich denke darüber nach, hier auch eine Speichermöglichkeit auf einer Partition der sdb-Platte zu schaffen.

Du siehst: es ist alles noch nicht zu Ende gedacht. Aber es wird werden.

Ich danke Dir für Dein Engagement. Sicher kannst Du mir weiter raten, wenn ich irgendwo bei meinen Planungen "auf dem Holzweg" bin.

Gruss H.
 

josef-wien

Ultimate Guru
halo44 schrieb:
Device Files: /dev/sda ... /dev/disk/by-path/pci-0000:00:0e.0-scsi-0:0:0:0 ...
BIOS id: 0x81

Device Files: /dev/sdb ... /dev/disk/by-path/pci-0000:00:0e.0-scsi-3:0:0:0 ...
BIOS id: 0x80
Da für beide Platten derselbe Treiber zuständig ist, erfolgt die Vergabe des Gerätenamens in der Regel in der Reihenfolge der Anschlüsse, und da kommt eben zuerst die große Platte. Die kleine Platte ist im BIOS als Boot-Platte definiert, was an der BIOS-ID 0x80 erkennbar ist. Prinzipiell ist es sinnvoller, den Boot-Manager auf der großen Platte zu installieren und danach die große Platte im BIOS als Boot-Platte zu definieren (wenn die große Platte vom BIOS nicht die BIOS-ID 0x81 erhält, hast Du nämlich ein Problem). Wenn GRUB im MBR der kleinen Platte installiert ist, kann ich Dir dabei helfen, bei GRUB2 muß ich passen.

Mir geht es nicht um die Inhalte Deiner Ziel-Partitionen, sondern um deren Struktur und um die Information, welche Partitionen (genauer gesagt deren Dateien) auf sdb erhalten bleiben sollen. Zu LUKS kann ich nichts beitragen, aber da sdb3 kleiner als sda3 ist, würde ich sdb3 vergessen und nach der Neupartitionierung LUKS neu einrichten sowie die Dateien von sda3 hinüberkopieren.
 
OP
H

halo44

Hacker
josef-wien schrieb:
... Wenn GRUB im MBR der kleinen Platte installiert ist, kann ich Dir dabei helfen, ...

Darum möchte ich Dich bitten. Ich verwende GRUB und nicht GRUB2.

josef-wien schrieb:
Mir geht es nicht um die Inhalte Deiner Ziel-Partitionen, sondern um deren Struktur und um die Information, welche Partitionen (genauer gesagt deren Dateien) auf sdb erhalten bleiben sollen ...

Eigentlich braucht auf sdb nichts erhalten bleiben, wenn ich die verschlüsselte Partition ohnehin auf dieser neu erstelle. Die (wenigen) Daten, die ich noch für Windows-Anwendungen benötige, liegen auch in meiner Datenpartition vor. Den Zugriff von Windows aus der VirtualBox heraus habe ich getestet, er funktioniert einwandfrei.

Wie schon oben gesagt, beim "Umzug" des Bootmanagers auf die sda würde ich gerne Deine Hilfe in Anspruch nehmen.

Gruss H.
 

josef-wien

Ultimate Guru
Verrate mir die Ergebnisse von
Code:
cat /proc/mounts
cat /boot/grub/device.map
cat /etc/grub.conf
(sicherheitshalber als root) unter openSUSE.
 
OP
H

halo44

Hacker
Die gewünschten Ausgaben :

a.) sudo cat /proc/mounts

Code:
rootfs / rootfs rw 0 0
devtmpfs /dev devtmpfs rw,relatime,size=1905592k,nr_inodes=205579,mode=755 0 0
tmpfs /dev/shm tmpfs rw,relatime 0 0
tmpfs /run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/sda6 / ext4 rw,relatime,user_xattr,acl,barrier=1,data=ordered 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
/dev/mapper/_dev_sda3 /Datenpartition ext4 rw,relatime,user_xattr,acl,barrier=1,data=ordered 0 0
/dev/mapper/_dev_sdb3 /lokalsicherung ext4 rw,relatime,user_xattr,acl,barrier=1,data=ordered 0 0
securityfs /sys/kernel/security securityfs rw,relatime 0 0
/dev/sda2 /home ext4 rw,relatime,user_xattr,acl,barrier=1,data=ordered 0 0
/dev/sdb7 /windows/E fuseblk rw,nosuid,nodev,noexec,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
tmpfs /var/lock tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
tmpfs /var/run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
tmpfs /media tmpfs rw,nosuid,nodev,relatime,mode=755 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
none /var/lib/ntp/proc proc ro,nosuid,nodev,relatime 0 0
nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
gvfs-fuse-daemon /home/benutzer/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=1000,group_id=100 0 0

b.) sudo cat /boot/grub/device.map

Code:
(hd0)   /dev/disk/by-id/ata-ST3160318AS_9VMAQLYX
(hd2)   /dev/disk/by-id/usb-PNY_USB_2.0_FD_1100920ED892CCF9-0:0
(hd1)   /dev/disk/by-id/ata-WDC_WD3200AAJS-00L7A0_WD-WMAV2R431889

c.) sudo cat /etc/grub.conf

Code:
setup --stage2=/boot/grub/stage2 --force-lba (hd0) (hd1,5)
quit

Gruss H.

P.S. der USB-Stick (hd2) war eben noch gesteckt, ich hab die Ausgabe aber so belassen
 

josef-wien

Ultimate Guru
Formal reicht es, in grub.conf (hd0) durch (hd1) zu ersetzen und grub auszuführen, aus meiner Sicht ist es aber klarer (und für künftige YaST-Aktionen auch sicherer), die Dateien an die künftige BIOS-Reihenfolge anzupassen.

Führe als root folgende Aktionen aus:
1. Änderung der Datei /boot/grub/device.map auf:
Code:
(hd0)   /dev/disk/by-id/ata-WDC_WD3200AAJS-00L7A0_WD-WMAV2R431889
(hd1)   /dev/disk/by-id/ata-ST3160318AS_9VMAQLYX
(Der USB-Stick ist hier unnötig, stört aber auch nicht.)
2. Änderung der Datei /etc/grub.conf auf:
Code:
setup --stage2=/boot/grub/stage2 --force-lba (hd0) (hd0,5)
quit
3. Durchführung des Befehls:
Code:
grub --batch < /etc/grub.conf
Bis auf weiteres kannst Du Deinen PC von beiden Platten starten, spätestens mit dem nächsten Update des Pakets grub wird es von der kleinen Platte nicht mehr funktionieren.

Hänge /dev/mapper/_dev_sdb3 und /dev/sdb7 aus, lösche alle Partitionen von sdb (oder erstelle eine neue MSDOS-Partitionentabelle), partitioniere die Platte neu nach Deinen Vorstellungen, formatiere die Partitionen, und passe /etc/fstab entsprechend an. Das schafft alles der YaST-Partitionierer.
 
OP
H

halo44

Hacker
Danke für Deine Anleitung. Es hat fast alles funktioniert - irgendetwas stimmt aber noch nicht.

Die Schritte 1 und 2 habe ich ausgeführt, indem ich die Dateien über Kwrite (aufgerufen aus Dolphin im Systemverwaltungsmodus) editiert habe. Der Inhalt ist auch richtig gespeichert, wie ich anschliessend kontrolliert habe.

Den Schritt 3 auszuführen wurde mir in der Konsole (trotz sudo) mit "keine Berechtigung" verwehrt.

Ich habe mich dann über den Abmeldedialog als "root" angemeldet und den Befehl m.E. erfolgreich durchgeführt :

Code:
linux-wgo1:~ # grub --batch < /etc/grub.conf


    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename. ]
grub> setup --stage2=/boot/grub/stage2 --force-lba (hd0) (hd0,5)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  17 sectors are embedded.
succeeded
 Running "install --force-lba --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,5)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
grub> quit
linux-wgo1:~ #

Versuche ich jetzt zu booten und setze dazu im BIOS die Platte ata-WDC_WD3200AAJS-00L7A0_WD-WMAV2R431889 als zweite hinter das CD-Laufwerk vor die Platte ata-ST3160318AS_9VMAQLYX, so erhalte ich die Fehlermeldung

Code:
root (hd1,5)
Filesystemtype is ext2fs, partition type 0x83
kernel /boot/vmlinuz-3.1.10-1.16-desktop root=/dev/disk/by-id/-ata-WDC_WD3200AAJS-00L7A0_WD-WMAV2R431889-part6 nolapic resume=/dev/disk/by-id/-ata-WDC_WD3200AAJS-00L7A0_WD-WMAV2R431889-part5 splash=silent quiet showopts init=/sbin/sysvinit vga=0x31a

Error 15: File not found

Press any key to continue...

Ich muß dann ausschalten und über das BIOS die andere Platte wieder nach vorne positionieren. Dann fährt mein System wieder hoch. Ich vermute allerdings nicht so, wie geplant. Eigentlich müßte doch jetzt die größere Platte booten?

Hab ich was falsch gemacht?

Gruß H.
 

josef-wien

Ultimate Guru
halo44 schrieb:
Hab ich was falsch gemacht?
Nein, ich habe etwas vergessen. Dupliziere in /boot/grub/menu.lst den ersten Eintrag
title irgendetwas
root (hd1,5)
kernel /boot/vmlinuz-3.1.10-1.16-desktop root=/dev/disk/by-id/-ata-WDC_WD3200AAJS-00L7A0_WD-WMAV2R431889-part6 und so weiter
initrd /boot/initrd-3.1.10-1.16-desktop
und ändere dann beim oberen Eintrag root (hd1,5) auf root (hd0,5) und bei einem der beiden Einträge den Titel, damit Du die beiden Möglichkeiten im Menü auseinander halten kannst. Beim Starten von der großen Platte mußt Du den Eintrag mit root (hd0,5) verwenden, beim Starten von der kleinen Platte den Eintrag mit root (hd1,5) (wenn alles klappt, kannst Du diesen Eintrag dann auch entfernen). Außerdem ist im obersten Block bei der Zeile
gfxmenu (hd1,5)/boot/message
(hd0,5) zu verwenden, damit beim Starten von der großen Platte das grafische Menü verwendet wird.

Der Mensch denkt eben doch nie an alles ...

halo44 schrieb:
Ich habe mich dann über den Abmeldedialog als "root" angemeldet
Es hätte gereicht, sich in der Konsole mit
Code:
su -
als root anzumelden und dann den Befehl auszuführen.
 
OP
H

halo44

Hacker
Perfekt - jetzt stimmt alles.

Nochmals vielen Dank für Deine kompetente Hilfe.

Gruss H.
 
Oben