GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Umstieg von Windows auf Linux – Datenträgerverwaltung

Heute möchte ich mich von meiner jüngsten Vorlage von Windows-zu-Linux-Tutorials lösen, die sich darauf konzentriert haben, Ihnen zu zeigen, wie Sie eine Vielzahl von Programmen installieren, konfigurieren und verwenden, die normalerweise nur für Windows entwickelt oder gedacht sind, und zwar unter Verwendung von Frameworks wie WEIN. Was wir heute besprechen werden, ist das heikle Thema der Festplatten- und Laufwerksverwaltung.

Über Anwendungen hinaus gibt es Daten, mit denen man rechnen muss. Und Daten sind für alles entscheidend. Die Dinge werden besonders kompliziert, wenn man die grundsätzlichen Unterschiede zwischen Windows und Linux betrachtet. Ersteres verwendet NTFS, und die Daten sind in Laufwerken (C:, D:usw.) organisiert. Linux speichert alles unter einem Dateisystembaum (root, /) und verwendet verschiedene Dateisystemformate (wie ext4), obwohl es mit NTFS umgehen kann. Was gibt es also, wenn Sie versuchen, Ihre Sachen umzuziehen? Dieses Tutorial ist ein netter Vorschlag für diejenigen, die nach Ordnung, Einfachheit und Klarheit suchen.

Vorläufige Lektüre

Dieser Führer kann nicht isoliert leben. Es gibt einige strenge Gesetze der Physik, die wir befolgen müssen. Erstens, wenn Sie nichts über Festplatten- und/oder Laufwerksverwaltung, Dateisysteme und ähnliches wissen, ist dieser Artikel nicht wirklich für Sie. Sie brauchen eine grundlegende Grundlage dieser Prinzipien. Seien wir realistisch. Dieser Artikel ist für Nerds, auch wenn sie (noch) wenig praktische Erfahrung mit Linux haben.

Das heißt, hier sind einige Artikel von mir, die Sie lesen sollten, bevor Sie weiter eintauchen:

Anleitung zur GParted-Partitionierungssoftware

Der ultimative Linux-Leitfaden für Windows-Neulinge

Gleich, aber anders

In Ordnung, jetzt, da wir den Jargon und die technischen Details kennen, lassen Sie uns ein Szenario diskutieren. Angenommen, Sie haben einen Windows-Computer mit zwei physischen Festplatten und insgesamt fünf Festplattenpartitionen. Nehmen wir an, das Layout ist wie folgt:

  • Laufwerk C:\ – Windows- und zentrale Betriebssystemdateien, Programmdateien, Benutzerdaten.
  • Laufwerk D:\ - Spieleinstallation (einschließlich beispielsweise Steam).
  • Laufwerk E:\ - Benutzerdaten (Dateien, Filme, Musik, Dokumente usw.), die NICHT unter Eigene Dateien und dergleichen gespeichert sind.
  • F:\-Laufwerk (auf der zweiten Festplatte) - Wird für Backups verwendet; hier werden die Benutzerdaten einmal pro Woche kopiert.
  • H:\-Laufwerk (auf der zweiten Festplatte) – Wird für unwichtige Dinge verwendet (Downloads, Rohvideos usw.).

Nehmen wir nun an, dass der Besitzer des Computers mit der folgenden Festplattenanordnung daran interessiert ist, auf Linux umzusteigen. Sie tun also Folgendes:

Sie partitionieren ihre Festplatten neu - insbesondere verkleinern sie das Laufwerk H:\ und erstellen dann eine Reihe neuer Partitionen im freigegebenen (und jetzt leeren) Speicherplatz. Sie installieren dann hier eine Linux-Distribution. Jetzt führen sie ein Dual-Boot-System aus, und wenn sie den Computer einschalten oder neu starten, sehen sie ein Menü, in dem sie auswählen können, ob sie mit der Linux- oder der Windows-Umgebung fortfahren möchten.

Wie Sie sehen können, habe ich dieses und ähnliche Szenarien in meinen verschiedenen Dual-Boot-Artikeln, wie dem oben verlinkten, sowie in den Handbüchern zu Windows 7 &Ubuntu und Windows 7 &CentOS skizziert. Dies sollte Ihnen einen guten Anhaltspunkt für ein ähnliches Abenteuer geben und Ihnen ermöglichen, ein Gefühl dafür zu bekommen, wie die anfänglichen Unterschiede in der Datenträgerverwaltung unter Linux aussehen würden.

Jetzt hat der Benutzer ein System mit zwei Betriebssystemen. Es gibt jedoch ein Problem. Der Großteil der Daten befindet sich immer noch in Windows und/oder wird auf Windows-Laufwerken gespeichert/aufbewahrt, die mit dem NTFS-Dateisystem formatiert sind. Hier gibt es mehrere Fragen:

  • Kann der Benutzer auf die Windows-Daten zugreifen?
  • Kann der Benutzer die Windows-Daten ändern?
  • Kann der Benutzer die Daten von Windows-Laufwerken in die nativen Linux-Dateisysteme auf anderen Partitionen migrieren?
  • Kann der Benutzer (wenn er möchte) NTFS-Dateisysteme in native Linux-Dateisysteme konvertieren?

Lass uns diese dann beantworten, sollen wir!

  • Linux kann NTFS-Dateisysteme ohne große Probleme lesen. Die meisten Distributionen unterstützen dies nativ.
  • In ähnlicher Weise kann Linux in NTFS-Dateisysteme schreiben. Allerdings verfügen nicht alle Distributionen standardmäßig über diese Funktion. Die Lösung für dieses Problem besteht darin, das Dienstprogramm NTFS-3g zu installieren, das die erforderliche Funktionalität bietet. Zum Beispiel in Red Hat-Distributionen wie CentOS oder AlmaLinux oder Rocky Linux:

sudo dnf install ntfs-3g ntfsprogs

  • Der Benutzer kann die Daten migrieren, aber im obigen Szenario ist möglicherweise einfach nicht genügend Platz auf den neu erstellten Linux-Partitionen verfügbar, um alle Windows-Inhalte aufzunehmen, einschließlich der Daten, Sicherungen und anderer Teile von Informationen.
  • Die Konvertierung von Dateisystemen ist ein riskanter Vorgang, der zu Datenverlust führen kann. Ohne eine vollständige und nachweisbare Datensicherung sollte dies nie geschehen. Aber wenn Sie ein Backup haben, können Sie die Partitionen genauso gut mit dem nativen Dateisystem formatieren und die Daten hinüber kopieren.

Opazität der Datenträgerverwaltung

Die Lösung für den knappen Speicherplatz und/oder den einfachen Datenmigrationspfad besteht dann darin, die Windows-Daten innerhalb des Linux-Systems zu präsentieren, jedoch auf eine Weise, die leicht erkennbar ist, sowie praktische Datensicherungen zu ermöglichen. Um zu erklären, was ich meine, bedenken Sie Folgendes:

Unter Linux werden alle Pfade zu einem Stammverzeichnis (/) aufgelöst. Zum Beispiel wäre /home/igor der Einhängepunkt zum Home-Verzeichnis des Benutzers namens "igor". Aber die physische Zuordnung dieses Verzeichnisses kann überall sein. Es kann sich um eine andere Partition, eine andere Festplatte oder sogar um ein anderes System (in einem Netzwerk) handeln. Zum Beispiel:

  • Das Root-Dateisystem (/) ist ein Einhängepunkt für /dev/sda1 (die erste Partition auf der ersten Festplatte).
  • home/igor ist ein Verzeichnis und kein separater Einhängepunkt. Die Daten befinden sich auf /dev/sda1 (derselbe Datenträger).
  • Alternativ könnte der Pfad /home/igor zu /dev/sda2 oder /dev/sdc7 oder sogar zu NFS-, CIFS- oder Samba-Freigaben aufgelöst werden.

Das bedeutet, dass Windows-Laufwerke, die ein Benutzer einbindet, in Linux als Teil des einzelnen Root-Dateisystems angezeigt werden und nicht unbedingt von anderen Speicherorten oder Pfaden erkennbar sind. Wieder zum Beispiel:

Die meisten Linux-Systeme mounten entfernbare, externe oder Nicht-Linux-Geräte unter /run/media oder /media. Wenn Sie also zwei Verzeichnisse unter diesen Speicherorten sehen, wie auch immer sie benannt sind, können Sie sie nicht unbedingt unterscheiden. Eine könnte eine interne NTFS-formatierte Windows-Partition sein und eine andere ein FAT32-formatiertes USB-Laufwerk.

Also die Lösung

Um dieses Problem zu umgehen, verwende ich die folgende Methode:

  • Ich erstelle ein neues Top-Level-Verzeichnis unter root namens Laufwerke (/drives).
  • Innerhalb erstelle ich Verzeichnisse, die als Einhängepunkte für Windows-Laufwerke dienen, mit Buchstaben als Kennungen. Beispielsweise wird /drive/C als Mount-Punkt für das Laufwerk C:\ verwendet, und /drive/E wird als Mount-Punkt für das Laufwerk E:\ verwendet, und so weiter.
  • Ich erstelle permanente Einhängeregeln für Windows-Laufwerke unter /etc/fstab (mehr dazu in Kürze). Das bedeutet, dass die Windows-Laufwerke beim Booten des Systems als beschreibbare Geräte gemountet und als Verzeichnisse unter dem Verzeichnis /drives auf oberster Ebene angezeigt werden.

Was gewährleistet diese Methode?

Dieser Ansatz hat viele nützliche Vorteile:

  • Es ermöglicht eine klare und sichtbare Trennung zwischen Nur-Linux- oder reinen Linux-Pfads und Windows-Pfads.
  • Es werden nicht alle Nicht-Linux-Geräte/Partitionen unter generischen Verzeichnissen gemischt.
  • Das Ausführen von Backup-Skripten stellt sicher, dass nicht alles kopiert oder gesichert wird, sondern nur das, was Sie brauchen. Wenn Sie ein vollständiges Backup Ihres Linux-Systems durchführen und andere Dateisysteme und Laufwerke gemountet haben, möchten Sie nicht unbedingt, dass diese in das Backup aufgenommen werden, und Sie möchten nicht jeden "unbekannten" Pfad berücksichtigen müssen .

So können Sie es tun

Nach unserem vorherigen Beispiel besteht der erste Schritt darin, herauszufinden, wie Linux die internen Festplatten "sieht" und wie es die Windows-Laufwerke identifiziert. Auch hier ist wieder ein wenig Fachwissen gefragt. Sie können die Befehlszeilentools wie fdisk verwenden, um die Liste der Geräte und ihrer Partitionen auszugeben. Nehmen wir Folgendes an:

  • /dev/sda1 - Laufwerk C:\
  • /dev/sda2 - Laufwerk D:\
  • /dev/sda3 - E:\ Laufwerk
  • /dev/sdb1 - F:\ Laufwerk
  • /dev/sdb2 - Laufwerk H:\
  • /dev/sdb3 - Linux-Root (/)
  • /dev/sdb4 - Linux-Austausch
  • /dev/sdb5 - Linux-Home (/home)

Erstellen Sie den Pfad der obersten Ebene /drives und die Verzeichnisse darunter (nur für Windows-Laufwerke):

sudo mkdir /drives
sudo mkdir /drives/C
sudo mkdir /drives/D
...

Erstellen Sie nun als root oder sudo eine Sicherungskopie der Datei /etc/fstab und bearbeiten Sie sie dann in einem Texteditor (z. B. nano):

sudo cp /etc/fstab /home/"Ihr Benutzer"/fstab-backup
sudo nano /etc/fstab

Fügen Sie im Texteditor Bereitstellungspunkte zu Ihren Windows-Laufwerken hinzu.

/dev/sda1 /drives/C ntfs-3g defaults,locale=utf8 0 0
/dev/sda2 /drives/D ntfs-3g defaults,locale=utf8 0 0
...

Was haben wir hier?

  • Wir geben das eigentliche Gerät/die Partition an, die wir mounten möchten.
  • Wir geben den Einhängepunkt an.
  • Wir geben das Dateisystem an - in diesem Fall verwenden wir den ntfs-3g-Dateisystemtreiber (gibt uns Lese-/Schreibzugriff).
  • Wir spezifizieren die Mount-Optionen - halten es mit Standardwerten einfach, plus UTF8-Codierung.
  • Wir setzen die letzten beiden Felder (dump und fsck) auf 0, sodass sie von klassischen Linux-Operationen ausgeschlossen sind.

Hier ist ein aktuelles Beispiel von einem meiner Systeme:

#
# / war während der Installation auf /dev/nvme0n1p5
# /boot/efi war auf /dev/nvme0n1p1 während der Installation

UUID=7f4087e7-e572-44fd-a4a1-7489099937a0 / ext4 error=remount-ro 0 1
UUID=C05A-951D /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/nvme0n1p3 /drives/C ntfs-3g defaults,locale=utf8 0 0

Die ersten drei unkommentierten Einträge sind Mount-Einträge für Linux-Dateisysteme, einschließlich des Stammverzeichnisses (/), /boot/efi, das auf UEFI-Systemen erforderlich ist (es zeigt auch ein VFAT-Dateisystem) und eine Auslagerungsdatei anstelle einer Auslagerungspartition.

Der vierte Eintrag ist das Hinzufügen eines Windows-Laufwerks. Bitte beachten Sie, dass die Gerätekennung nicht /dev/sdaXY ist, sondern /dev/nvmeXnYp3. Der Grund dafür ist, dass das System über eine NVMe-Festplatte verfügt und das Linux-System diese anders als die IDE/SATA/SCSI-Geräte identifiziert. Aber für alle praktischen Zwecke ist die Notation gleich.

Was wir haben, ist ein erster (0) NVMe-Bus, ein erstes (1) Gerät, eine dritte (3) Partition. Bitte beachten Sie auch hier meine früheren Anleitungen zur Festplattenverwaltung sowie das GRUB-Tutorial, da die Notation für Geräte und Partitionen unterschiedlich ist. Und so mounten wir im obigen Beispiel unsere Windows-Partition, praktisch die dritte Partition auf der NVMe-Festplatte, unter /drives/C.

Sie müssen nicht neu starten, um den Effekt zu sehen, einfach alles neu mounten:

sudo mount -a

Jetzt werden Ihre Windows-Laufwerke in die entsprechenden Pfade eingebunden und Sie können die Daten sehen. Der nächste Schritt besteht darin, die gemounteten Daten benutzerfreundlicher und zugänglicher zu machen.

Dateimanager &Windows-Laufwerke

Wenn Sie die Daten von der GUI (nicht der Befehlszeile) verwenden möchten, können Sie den folgenden Trick anwenden:

  • Erstellen Sie symbolische Links in Ihrem Home-Verzeichnis zu den gemounteten Laufwerken.
  • Verknüpfen Sie insbesondere jedes Laufwerk (Buchstaben) symbolisch mit einem Ordner, der eine aussagekräftige Kennung hat, wie die Windows-Laufwerksnamen.

ln -s /drives/C ~/Windows

Der obige Befehl erstellt einen symbolischen Link in Ihrem Home-Verzeichnis. Windows ordnet /drives/C zu, was der Bereitstellungspunkt für das Laufwerk C:\ ist. Wenn Sie also in Ihrem Linux-Dateimanager auf den Windows-Ordner klicken, sehen Sie den Inhalt des Windows-Laufwerks.

Jetzt können Sie noch einen Schritt weiter gehen und Verknüpfungen zu diesen Laufwerken erstellen. In der Plasma-Desktop-Umgebung können Sie beispielsweise Verknüpfungen zur Seitenleiste hinzufügen, sodass Windows auf /drives/C abgebildet wird, Spiele auf /drives/D abgebildet werden, Daten auf /drives/E abgebildet werden und so weiter. Ihr nächster Schritt besteht darin, möglicherweise Sicherungsaufgaben in den Ablauf einzufügen, aber das ist ein Thema für ein anderes Tutorial.

Schlussfolgerung

Mein Tutorial ist nicht der heilige Gral der Datenverwaltung. Weit davon entfernt. Aber es bietet elegante Vorschläge für häufige Probleme, mit denen Menschen konfrontiert werden, die von Windows zu Linux wechseln. Es bietet eine Möglichkeit, die Windows-Daten auf sichtbare, intuitive Weise darzustellen. Es enthält keine destruktiven Operationen. Es ermöglicht bequeme Backups und Datentrennung. Und es bietet Benutzern, die an den Windows-Workflow gewöhnt sind, die Möglichkeit, sich langsam an die neue Umgebung anzupassen, ohne Kompromisse bei vertrauten Hinweisen oder etablierten Workflows eingehen zu müssen.

Mit den reinen Windows-Laufwerken, die in ihrem eigenen Pfad gemountet sind, symbolischen Links für einen bequemen Zugriff über GUI-Tools und einer logischen Zuordnung sollten Sie jetzt eine gute, solide Grundlage für Ihre Migration haben. Der nächste Schritt besteht darin, sicherzustellen, dass Ihre wichtigen Daten gesichert sind. Denn Daten ohne Backups sind nur eine Tragödie, die auf uns wartet. Darauf und auf viele weitere praktische Tipps für den Alltag gehen wir in Folgeartikeln ein. Denken Sie zunächst ein wenig über das Datenschema nach, das ich oben skizziert habe. Bleiben Sie auf dem Laufenden für weitere Anleitungen zur Programmeinrichtung. Bis bald.


Linux
  1. Remote-Desktop von Windows auf Linux-Desktop mit XRDP

  2. Linux – Festplatte/Festplattenkopie langsamer machen?

  3. Verwenden von Windows-DLL von Linux

  4. Fahren Sie den Windows-Rechner vom Linux-Terminal herunter

  5. RDP von Linux zu Windows

So greifen Sie von Windows 10 auf Linux-Partitionen zu

Linux-Prozessverwaltung mit htop verbessert

Linux-Paketverwaltung mit YUM und RPM

Abkehr von Windows – Es beginnt

Lassen Sie Linux wie Windows - 2021 Edition aussehen

Klassische Path.DirectorySeparatorChar-Probleme beim Wechsel von .NET Core unter Windows zu Linux