Können Windows und Ubuntu eine einzige Swap-Partition gemeinsam nutzen?


13

Ich boote mein System doppelt mit Ubuntu 12.04 und Windows 7. Ich habe während der Installation die spezielle Swap-Partition für Ubuntu erstellt (wie empfohlen).

Kann Windows diesen Auslagerungsbereich / diese Partition als eigene Auslagerungsdatei / Auslagerungsdatei verwenden, wenn ich von Windows aus boote?


1
Tut mir leid Kumpel, Windows ist nicht so clever / flexibel. Es verwendet Paging, erstellt Dateien auf Datenträgern und verwendet sie gewissermaßen als Swap.
Mahesh

Microsoft sagt, tun Sie es nicht: blogs.msdn.microsoft.com/commandline/2016/11/17/… und da 18.04LTS jetzt eine Auslagerungsdatei verwendet, ist das Konzept veraltet.
K7AAY

@ K7AAY in diesem Artikel geht es um WSL und nicht um Dual-Boot, daher ist dies völlig irrelevant. Und selbst wenn Sie WSL verwenden , können Sie Linux-Dateien von Windows seit Version 1903
phuclv

Antworten:


11

Es ist möglich, aber wahrscheinlich nur als Experiment:

Hinweis: Dies ist eine Was-wäre-wenn-Antwort und wird nicht empfohlen , insbesondere wenn Sie den Ruhezustand von Ubuntu verwenden!

  • Theoretisch sollte Windows in der Lage sein, Ihre Auslagerungspartition für ihre Auslagerungsdatei (Auslagerungsdatei) mit einigen cleveren Skripten auf Linux-Seite zu verwenden.

  • Ich werde nicht Schritt für Schritt vorgehen, weil ich es nicht ausprobiert habe. Wenn Sie nicht herausfinden können, wie dies implementiert werden soll, sollten Sie es auch nicht versuchen :)

    1. Formatieren Sie die Partition in Windows als NTFS, und richten Sie Windows so ein, dass dieses Laufwerk ausschließlich für die Auslagerungsdatei verwendet wird (nichts auf C :)

    2. Haben Sie ein Start / Upstart-Skript, um die Partition beim Ubuntu-Start als Linux-Swap zu formatieren und swap ( swapon) zu aktivieren .

    3. Haben Sie ein Skript zum Herunterfahren, um die Partition als ntfs auszutauschen und neu zu formatieren.

Alternative (immer noch nicht empfohlen) Option:

Sie können eine Auslagerungsdatei erstellen, indem Sie diese Anleitung auf der NTFS-Partition befolgen, sofern die NTFS-Partition groß genug für beide Auslagerungsdateien ist.

Diese Alternative wird jedoch aus folgenden Gründen nicht empfohlen:

  • Das Austauschen auf einer NTFS (3G) -Partition wäre extrem CPU-lastig.
  • Und um die Sache noch schlimmer zu machen, da die Datei fragmentiert werden kann / wird, würde dies auch einen Leistungseinbruch verursachen.

Oder verwenden Sie eine Datei als Auslagerungsdatei für diese Partition.
LGARZO

@lgarzo Ich kenne diese Option, empfehle sie jedoch nicht, da das Austauschen auf einer NTFS (3G) -Partition extrem CPU-lastig wäre :)
ish

Und noch schlimmer, da eine Datei fragmentiert werden kann / wird, würde dies auch zu Leistungseinbußen führen.
Lgarzo

@ lgarzo Auf jeden Fall. Vielleicht können Sie meine Antwort dahingehend ändern, dass dies zwar eine andere Option ist (vorausgesetzt, die ntfs-Partition ist groß genug für beide Auslagerungsdateien), dies jedoch aus den von uns diskutierten Gründen auch nicht empfohlen wird. Vielen Dank!
ish

1
Diese Methode wurde bereits 2002 angewendet . Ab 2011 soll Windows 7 mit dem swapfs-Treiber funktionieren .
Dan Dascalescu

1

Ich habe es nicht selbst ausprobiert, aber Sie können eine Swap-Partition mit swapfs mounten . Sie können dann theoretisch Ihre Auslagerungsdatei dort ablegen (es gibt einige gute Gründe dafür, wie z. B. Minidumps, aber es ist eine Option).


1

Es funktioniert super

Was wird benötigt? Folgen Sie einfach den Anweisungen in der SwapFs-3.0-Datei .

Außerdem finden Sie einige hilfreiche Informationen unter Verwendung der Linux-Swap-Partition als Windows-Swap-Datei auf Ubuntuforums.org.

Zuerst habe ich versucht, Swap Space in NTFS zu formatieren, aber es hat sich herausgestellt, dass Linux die Fähigkeit verloren hat, es als selbst erstellt zu erkennen.

Dann habe ich es wieder auf klassischen Linux-Swap umformatiert.

Als nächstes habe ich wieder fstab geändert. War:

UUID=4c6a4... none  swap  sw  0  0

Deaktiviere das und setze stattdessen:

/dev/sda7   swap   swap   defaults   0   0

Wenn ich mich recht erinnere, hat es nach dem Booten von Windows nicht als RAW erkannt oder ich hätte es als FAT32 formatieren können.

Und alles begann zu funktionieren.

Aber es taucht ein Problem auf. Nämlich mein Vista 'fügte' einen zusätzlichen Buchstaben hinzu, hatte also letztendlich zwei Treiber, die aber tatsächlich mit derselben Partition 'e: \' verknüpft und von mir als 's: \' festgelegt wurden.

Glücklicherweise reichte es aus, um die in * .reg empfohlene Registry von 'SwapFs-3.0' aus aufzurufen. Es stellte sich heraus, dass der zusätzliche Datensatz 'e: \' aus der Registrierung entfernt werden sollte.

Momentan können Sie problemlos den systemübergreifenden Swap Space nutzen. Wiederherstellung von 3,2 GB Speicherplatz.

Ich möchte erwähnen, dass Sie Linux in nur vier bis drei Monaten verwenden und in der Lage sind, so komplizierte Vorgänge auszuführen, dass Sie dies ohne großen Aufwand tun können.

Zusammenfassend:

  1. Es ist möglich, die Linux-Swap-Partition mit Windows zu teilen und sie als Speicherplatz für die Windows-Swap-Datei zu nutzen.
  2. Es ist sehr einfach, dank SwapFs-3.0.
  3. Konnte nicht sagen, wie viel es CPU-last ist.
  4. Die Partition wird vom Befehl "manage" nicht als gemountet erkannt und von Partition Apps nicht als gemountet angesehen.
  5. Der Explorer sieht es als eine Festplatte.
  6. Tatsächlich könnte viel Speicherplatz gespart werden.

1

Wenn Sie Festplattenspeicher sparen möchten und nicht viele GB für die Auslagerungsdatei von Linux und für die Auslagerungsdatei von Windows verschwenden müssen, können Sie die dynamische Größe der Auslagerungsdatei unter Linux über SwapSpace verwenden:


Bitte schreiben Sie eine vollständige Antwort, anstatt nur externe Websites zu verlinken. Es ist sehr gut, sie als Referenz zu verwenden, aber es ist auch besser, die wesentlichen Schritte hier anzugeben , falls die anderen Websites offline gehen und so weiter.
Dadexix86

0

Die Dinge haben sich geändert ... Früher gab es einen IFS-Treiber, der Linux-Partitionen lesen konnte (damals vor allem für EXT3). IFS bedeutet übrigens Installable FileSystem - was möglicherweise in MS-DOS 4 begonnen hat (ich dachte früher, es war ein Es gab einige interessante Dinge, die Sie mit IFS tun konnten, z. B. ein RAM-Laufwerk erstellen und ihm einen Laufwerksbuchstaben zuweisen. (Heutzutage ist Imdisk wahrscheinlich eine bessere Möglichkeit, dies zu tun.) Neben EXT2IFS (und später ext2fsd) war es auch möglich, über Windows auf Linux-Swap-Partitionen zuzugreifen. Alles, was Sie tun mussten, war, das kleine Dienstprogramm zum Verwalten von Laufwerken zu verwenden, das mit dem Dateisystemtreiber geliefert wurde, um der Swap-Partition einen Laufwerksbuchstaben zuzuweisen und Windows anzuweisen, diesen für die Datei swapfile.sys usw. zu verwenden. Für Windows 10 sind seit dem Jubiläumsupdate signierte Treiber erforderlich, und die meisten IFS-Treiber funktionieren derzeit zumindest für mich nicht. Leider wird mir der Zugriff auf meine EXT2- und HFS + -Partitionsdaten von Windows aus genommen. Die Antwort ist also im Wesentlichen nicht mehr. Aber für ältere Versionen (wie Win7 oder XP) ist es durchaus plausibel, die hier angegebene Methode anzuwenden.


-1

Die kurze Antwort lautet: Nein, das kann nicht.

Windows erkennt keine Linux-Partitionen, obwohl das Gegenteil möglich ist (Linux erkennt Windows-Partitionen).


1
Es gibt nichts als eine Linux-Partition. Sie müssen über Dateisysteme sprechen. ext3 / 4, NTFS, FAT16 / 32 usw.
Mahesh


1
@ Mahesh, Linux und Linux Swap sind Partitionstypen (0x82 und 0x83, IIRC). Überprüfen Sie Ihre fdisk -l. Ich nehme an, Swap ist auch ein eigenes Dateisystem.
ish

du hast recht danke @izx und du hast dich richtig erinnert. ;)
Mahesh

2
Je komplizierte Antwort ist , dass es hat worden sein getan .
Dan Dascalescu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.