Partitionstabellen verstehen

17

Dies ist die Ausgabe von fdisk:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT
/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

Und das ist die Ausgabe von cfdisk:

Name         Flags       Part Type   FS Type           [Label]         Size (MB)
--------------------------------------------------------------------------------
                                     Unusable                               1.05  *
sda1                      Primary    ext4                              214744.18  *
sda2                      Primary    ext4                              429499.88  *
sda5         NC           Logical    swap                                8586.79  *
                          Logical    Free Space                         12889.10  *
sda4         Boot         Primary    ntfs                              209715.20  *
                                     Unusable                          124768.71  *

Ich soll 2 Linux-Partitionen, 1 Windows-Partition erweiterte Partition von ca. 20 GB mit logischer 8 GB Swap-Partition und ca. 130 GB nicht partitionierten Speicherplatz haben.

Als ob es nicht genug wäre, ist die Ausgabe von gpartedauch etwas anders. Bildbeschreibung hier eingeben

Ich bin verwirrt von den Ausgaben, die ich hier gepostet habe.

  1. Warum ist /dev/sd4es als bootfähig markiert, wenn ich mit GRUB2 boote?
  2. Was ist / dev / sda3? Was ist ihr Typ (primär / logisch)? Warum wird es nicht angezeigt cfdisk?
  3. Warum ist dieser freie Speicherplatz (vermutlich 124768 Zoll cfdisk) als unbrauchbar markiert?
  4. Was bedeutet NC-Flag cfdiskfür Swap-Partition?
ps-aux
quelle

Antworten:

26

Warum ist / dev / sd4 als bootfähig markiert, wenn ich mit GRUB2 boote?

Das bootfähige ist ein Flag im MBR (eigentlich ein Byte, das mit 0x80 verglichen wird). Dieser Eintrag ist als bootfähig markiert. Ein "traditioneller" Bootloader liest den MBR, sucht nach einem Eintrag mit dem bootfähigen Flag und übergibt ihm die Kontrolle. Bei der Verwendung von grub wird etwas völlig anderes ausgeführt, da stattdessen die Konfigurationsdatei verwendet wird. Die Tools zeigen Ihnen jedoch, wie Partitionen konfiguriert sind (möglicherweise befindet sich ein Bootloader im MBR, der Sie zu / dev / sda4 und zu grub2 führt, das dort installiert ist).

Was ist / dev / sda3? Was ist ihr Typ (primär / logisch)? Warum wird es in cfdisk nicht angezeigt?

/ dev / sda3 ist eine primäre Partition vom Typ Extended Partition . Es ist eine Partition, die als Container für andere Partitionen verwendet wird. gparted zeigt es auf seiner Grafik ganz gut.

Man könnte argumentieren, ob es sich tatsächlich um eine Partition handelt oder nicht, einerseits nimmt sie einen Platz im MBR ein, andererseits handelt es sich um einen Container mit Partitionen , und man legt dort kein Dateisystem ab.

Partitionstools behandeln sie speziell, daher scheint cfdisk es vorzuziehen, sie nicht anzuzeigen. fdisk erlaubt zum Beispiel auch keine Aktionen auf diesen Partitionen.

Warum ist dieser freie Speicherplatz (vermutlich 124768 in cfdisk) als unbrauchbar markiert?

Ich denke, das sind die 116,20 GiB, die am Ende von gparted gezeigt wurden

Sie können nur bis zu 4 primäre Partitionen haben (die erweiterte Partition mitgezählt). Das ergibt sich aus der Anzahl der Slots am Ende des MBR. Da Sie bereits 4 davon haben, kann der nicht zugewiesene Speicherplatz am Ende nicht partitioniert werden (Sie können dort keine logische Partition platzieren, da Sie nur eine einzige erweiterte Partition haben können und diese zusammenhängend sein soll).

Ihre (einfachen) Möglichkeiten, diesen Platz zu nutzen, wären entweder:

  • erweitere / dev / sda4, um es zu benutzen
  • Erweitern Sie / dev / sda3 um / dev / sda4 (und vorzugsweise auch um das Ende der Festplatte) und machen Sie / dev / sda4 zu einer logischen Partition

Was bedeutet NC-Flag in cfdisk für Swap-Partition?

Zitieren der cfdisk-Manpage : "Die Flags können Boot sein, was eine bootfähige Partition bezeichnet, oder NC, was für" Nicht kompatibel mit DOS oder OS / 2 "steht." Kein Grund zur Sorge

Engel
quelle
11

Fangen wir an ...

  1. Es ist als bootfähig markiert, damit Windows den Bootloader von dort laden kann. Obwohl Grub möglicherweise zuerst geladen wird, wird es in den Windows-Bootloader "chainload", wenn Windows aus der Liste ausgewählt wird. Damit der Windows-Bootloader ausgeführt werden kann, muss er sich auf einer bootfähigen Partition befinden. (Könnte jemand dies für mich überprüfen? Ich habe noch nie versucht, das Bootable-Flag bei einer Windows 7-Installation zu entfernen.)

  2. SDA3 ist eigentlich eine erweiterte Partition. Ihre Festplatte ist anstelle von GPT als MBR formatiert . Eine der Einschränkungen ist, dass MBR nur bis zu 4 primäre Partitionen haben kann . Um dies zu umgehen, können Sie eine erweiterte primäre Partition verwenden, um mehrere kleinere logische Partitionen zu erstellen (Sie erhalten mehr als 4 Partitionen).

  3. Aufgrund der MBR-Beschränkung kann keine 5. primäre Partition außerhalb der Extended Logical-Partition erstellt werden . Das ist normal. Wenn Sie die erweiterte Partition erweitern, sollten Sie in der Lage sein, eine neue Partition darin zu erstellen und den Rest Ihrer Festplatte zu verwenden.

  4. Auf den Manpages von cfdisk :

Die Flags können Boot sein , was eine bootfähige Partition oder NC bezeichnet , was für "Nicht kompatibel mit DOS oder OS / 2" steht.

Der Kanadier Luke REINSTATE MONICA
quelle
Kein Problem. Ich habe die gleichen Antworten gepostet, und diese war die einzige, die Sie nicht besser getroffen haben als ich. ;)
ƬᴇcƬᴇιʜ007
3

Partitionen 1 bis 4 sind konventionell "physisch" (sie waren die einzigen verfügbaren Typen in der damaligen Zeit). Also hast du:

Device    Boot      Start         End      Blocks   Id  System
/dev/sda1            2048   419424255   209711104   83  Linux
/dev/sda2       419424256  1258291199   419433472   83  Linux
/dev/sda3      1258291200  1300236287    20972544    f  W95 Ext'd (LBA)
/dev/sda4   *  1300236288  1709836287   204800000    7  HPFS/NTFS/exFAT

/dev/sda5      1258293248  1275062271     8384512   82  Linux swap / Solaris

... sda1ist physisch, Linux. sda2ist physisch, wieder Linux. sda3ist eine logische Partition, in der sich andere Partitionen (ab 5) befinden können. Endlich sda4ist eine Windows-Partition als bootfähig markiert - ich denke, nur Windows kümmert sich noch darum. GRUB2 bootet gerne jede gewünschte Partition, aber Windows möchte auf einer bootfähigen Partition sein.

Jetzt gibt es in der logischen Partition sda3, die cfdisknicht als solche angezeigt wird, das Äquivalent von mehr physischen Partitionen. Nur in diesem Fall sda5.

Und da sda3die Sektoren 1275062272 bis 1300236287 von Sektor 1258M zu Sektor 1300M wechseln, diese jedoch sda5nur bis zu 1275M verwenden, sind sie kostenlos (aber zuweisbar sda6).

Schließlich sda4füllt sich Ihre (die letzte mögliche physische Partition - der MBR enthält nur vier) nicht bis zum Ende der Festplatte. Es lässt etwa 116 GB aus. Dieser Speicherplatz ist unbrauchbar, weil Sie keine physische Partition erstellen können, um ihn abzudecken (die erweiterte Partition sda3kann nicht größer werden, da ihre Ausdehnung durch "blockiert" wird sda4):

[SDA3...(sda5)...| FREE    ][...sda4...][ UNREACHABLE SPACE ]end-of-disk

Lösungen zur Wiederherstellung des nicht verfügbaren Speicherplatzes

Keine schmerzlos, ich fürchte. Abhängig von der Geometrie können Sie die sda4Grenzen löschen und mit Anmerkungen versehen. sda3Erweitern Sie dann den Bereich , um den gesamten Datenträger einzuschließen (derselbe Anfang, 1258291200, aber das Ende bis zum Ende des Datenträgers), oder löschen Sie ihn und erstellen Sie ihn mit demselben Anfang und demselben maximalen Ende neu. Jetzt können Sie eine Partition im sda6Inneren erstellen sda3und sie so gestalten, dass sie am Zylinder kurz vor dem Sektor 1300236288 endet. Dies belegt den derzeit im vorhandenen Bereich verbleibenden freien Speicherplatz sda3. Schließlich erstellen Sie eine Partition im Inneren sda3und sda7teilen dem System mit, dass sie sich von 1300236288 bis 1709836287 erstreckt und vom Typ 7 ist.

Wenn Sie diese Partition nicht formatieren, bleibt der Inhalt unverändert und es handelt sich um eine gültige Windows-Partition. Es ist

Wenn etwas schief geht, können Sie natürlich alle Ihre Daten verlieren. Physische Partitionen (wie die Windows-Partition jetzt sda4) und physisch-in-logische Partitionen (wie sie früher waren sda7) müssen sich nicht unbedingt mischen. Einige Werkzeuge werden sich weigern, sie zu erstellen. Ich würde vorschlagen, einen Test auf einer virtuellen Festplatte derselben Größe durchzuführen, die in einer spärlichen Datei erstellt wurde (die Datei selbst wäre nur ein paar Gigabyte groß) oder auf einer externen Festplatte.

Eine andere, vielleicht sicherere Möglichkeit besteht darin , Parameter zu löschen sda5(einfach zu tauschen) und zu sda3verschieben (dies kann bedeuten, dass die alten Parameter gelöscht und neu erstellt werden ). Dadurch bleibt der Steckplatz frei (und in der Mitte befindet sich ein "Loch") der Scheibe). In den meisten BIOS-Versionen sind Partitionstabellen außerhalb der Reihenfolge zulässig. Auch hier sollte nichts kopiert werden müssen. Jetzt wird und bleibt es eine physische Partition. Daher sollte die Geometrie besser mit den Annahmen eines Partitionierungswerkzeugs übereinstimmen.sda4sda3sda4sda3sda4sda4sda4sda3

Natürlich ist der empfohlene und sicherste (und langsamste) Weg, alle Partitionen zu sichern , sie alle neu zu formatieren und wiederherzustellen, nachdem sie ordnungsgemäß "neu positioniert" wurden, wobei die erweiterte Partition als letzte die gesamte verbleibende Festplatte belegt. Dadurch wird der freie Speicherplatz in sda3 beseitigt und der nicht verfügbare Speicherplatz am Ende ohne Risiko wiederhergestellt (wenn die Sicherung ordnungsgemäß durchgeführt wurde - überprüfen Sie ihn nach dem Sichern. Ich habe einmal auf einer fehlerhaften externen Festplatte gesichert, die bei mir abgestorben ist.) wiederherstellen. War überhaupt nicht amüsant).

LSerni
quelle
0

Zusätzlich zu dem, was bereits über die Bedeutung von all dem gesagt wurde, denke ich, dass die schmerzloseste Lösung darin besteht, den Swap-Bereich am Ende in der großen Fläche zu haben und den leeren Bereich in der Mitte zu Ihrem hinzuzufügen /home.

Dazu musst du

  • Löschen Sie Ihre Auslagerungsdatei, sobald sie nicht mehr verwendet wird, sowie die erweiterte Partition, die sie enthält
  • Erweitern Sie Ihre sda2um den kompletten leeren Raum danach (Sie müssen ihn löschen und neu erstellen).
  • Erstellen Sie die erweiterte Partition neu, um danach zu sitzen, sda3und verwenden Sie sie, um so viele Partitionen zu speichern, wie Sie möchten (nun, innerhalb bestimmter Grenzen).

Dies ist am einfachsten cfdisk, da die erweiterte Partition dynamisch behandelt wird. Achten Sie jedoch darauf, dass sda2der Start-LBA erhalten bleibt, da sonst der Inhalt verloren geht.

Nach dem Erweitern der Partitionsgröße müssen Sie die Größe des beigefügten Dateisystems ändern, um den gesamten Speicherplatz zu nutzen.

glglgl
quelle