Obwohl meine SD-Karte 16 GB hat, war das Image, auf das ich geflasht habe, nur 2 GB, und jetzt kann ich nur 2 GB Speicherplatz auf der Festplatte sehen.
Wie kann ich die Größe des Images ändern, damit auf meiner Root-Partition mehr Speicherplatz vorhanden ist?
/mnt/storage
zum Beispiel. Dies isoliert effektiv System und Daten und erleichtert die Wartung und Sicherung./mnt/storage
, hängen Sie die verbleibenden SD-Speicherkapazitäten an und Programme an/opt/software/
.Antworten:
Angenommen, Sie verwenden Debian.
Die Kurzfassung:
Schritt für Schritt Anweisungen
Erstellen Sie zuerst eine Sicherungskopie Ihrer SD-Karte. Befolgen Sie dazu die Anweisungen hier, falls etwas schief geht.
Geben Sie in der Befehlszeile oder in einem Terminalfenster Folgendes ein
Geben Sie
p
dann ein, um die Partitionstabelle aufzulistenSie sollten drei Partitionen sehen. Wenn Sie in die letzte Spalte mit der Bezeichnung System schauen , sollten Sie haben
Notieren Sie sich die Startnummer für Partition 2, diese benötigen Sie später. obwohl es wahrscheinlich immer noch auf dem Bildschirm sein wird (nur für den Fall).
nächster Typ
d
, um eine Partition zu löschen.Sie werden dann aufgefordert, die Nummer der Partition anzugeben, die Sie löschen möchten. Im obigen Fall möchten Sie sowohl die Linux- als auch die Linux-Swap-Partition löschen.
Also tippe
2
Geben Sie dann
d
erneut und anschließend ein3
, um die Swap-Partition zu löschen.Jetzt können Sie die Größe der Hauptpartition ändern.
Geben Sie ein
n
, um eine neue Partition zu erstellen.Diese neue Partition muss eine primäre Partition sein
p
.Geben Sie
2
als Nächstes ein, wenn Sie zur Eingabe einer Partitionsnummer aufgefordert werden.Sie werden nun aufgefordert, den ersten Sektor für die neue Partition einzugeben. Geben Sie die Startnummer aus dem vorherigen Schritt ein (die Linux-Partition)
Als nächstes werden Sie aufgefordert, den letzten Sektor anzugeben, für den Sie die Eingabetaste drücken, um die Standardeinstellung zu akzeptieren, die den verbleibenden Speicherplatz belegt.
Geben Sie ein
w
, um die vorgenommenen Änderungen zu speichern.Starten Sie das System anschließend mit dem folgenden Befehl neu:
Sobald das System neu gestartet wurde und Sie wieder in der Befehlszeile sind, geben Sie den folgenden Befehl ein:
Hinweis: Dies kann (abhängig von der Kartengröße und -geschwindigkeit) einige Zeit in Anspruch nehmen. Lassen Sie es zu Ende gehen, damit Sie das Dateisystem nicht durcheinander bringen und von vorne beginnen müssen.
Starten Sie das System anschließend mit dem folgenden Befehl neu:
Sie können jetzt überprüfen, ob das System die volle Kapazität der SD-Karte nutzt, indem Sie den folgenden Befehl eingeben:
Warum das funktioniert:
Die wirkliche Magie dabei ist, dass Sie die Root- und Swap-Partitionen löschen und dann nur die Root-Partition (unter Verwendung des ursprünglichen Startsektors) neu erstellen, bevor Sie die Daten auf die Festplatte schreiben . Infolgedessen löschen Sie die vorhandenen Daten nicht von der Root-Partition.
Wenn Sie die Swap-Partition entfernen, kann der Raum der Root-Partition über seine aktuelle Größe hinauswachsen und den nicht verwendeten Teil der Festplatte ausfüllen (aufgrund der Platzierung der Partitionen - die Root-Partition befindet sich zwischen den Boot- und Swap-Partitionen - dies ist nicht möglich einfach die Größe ändern und die Swap-Partition alleine lassen).
Anschließend ändern Sie die Größe des Dateisystems (das sicher auf einer bereitgestellten Festplatte ausgeführt werden kann), um den gesamten Speicherplatz in der neuen Root-Partition zu nutzen.
ref:
quelle
Unter Verwendung des Debian-Wheezy-Beta-Images ist ein Konfigurationsdienstprogramm eingebaut, das dies einfach macht:
Es gibt ein Dienstprogramm namens
raspi-config
. Dies wird beim ersten Start ausgeführt, wenn Sie direkt mit dem RPi verbunden sind. Wenn Sie über SSH sind, können Sie es manuell mit ausführen$ sudo raspi-config
. (Ich denke, Sie können das Tool jederzeit manuell erneut ausführen).Die zweite Option im folgenden blauen Dialogfeld trägt den Titel
expand_rootfs
"Root-Partition erweitern, um SD-Karte zu füllen".Wenn Sie dies auswählen, wird die Größe Ihrer Root-Partition geändert, um die Karte beim nächsten Start Ihres RPi zu füllen.
Update für 2015!
Ich komme mit Vorsicht auf diese Antwort zurück: Ich habe ein paar 16-GB-SD-Karten verwendet, und es hat mich überfordert, meine Partition zu maximieren, um die von mir verwendete Karte zu füllen. Dies verursachte eine Reihe von Problemen beim Umstieg auf eine neue Karte, die (obwohl als 16 GB angegeben) etwa 200 MB kleiner war als die ältere Karte.
Dies kam zu einem Problem, als ich einige RPis von v1 auf das neue v2-Modell umstellte, das Micro-SD-Karten verwendet.
Ich lasse jetzt ungefähr 1 GB frei, um absolut sicherzugehen, dass meine Bilder ohne Probleme zwischen SD-Karten gewechselt werden können.
quelle
Wenn Sie nicht sehr gerne auf der Kommandozeile arbeiten, wie in Steve Robillards exzellenter Antwort, gibt es einige GUI-Anwendungen. Insbesondere funktioniert gparted sehr gut.
Ich denke, es ist standardmäßig auf einer Ubuntu LiveCD installiert, aber nicht auf einem installierten System. Es ist natürlich eine einfache Lösung dafür:
apt-get install gparted
. Dies ist auf dem eigentlichen Pi nicht möglich, da die Partitionen zum Ändern der Größe nicht eingehängt werden müssen.Das Bild unten ist auf Niederländisch, aber lassen Sie sich nicht den Spaß verderben. Es ist sehr einfach zu bedienen. Dies ist das Layout des Standard-Debian-Images auf einer 8-GB-SD-Karte.
Klicken Sie mit der rechten Maustaste auf die Partitionen, um die Bereitstellung aufzuheben, und klicken Sie dann mit der rechten Maustaste, um die Größe der Partition zu ändern oder sie zu verschieben. Sie können auch neue Partitionen erstellen und vorhandene formatieren. In der Abbildung unten habe ich die Swap-Partition entfernt und kann jetzt die Größe der Root-Partition auf den gesamten Bereich rechts davon anpassen. Füllen Sie es nicht vollständig aus, da Sie noch eine Swap-Partition hinzufügen müssen.
Sie können mit dem Partitionslayout spielen, Änderungen werden nur geschrieben, wenn Sie die Änderungen anwenden (die abgeblendete Eingabetaste im ersten Bild).
Es ist sehr einfach, Partitionen zu verschieben, aber wie in Steves Antwort würde ich empfehlen, die Swap-Partition vollständig zu entfernen, dann die Größe des Stammverzeichnisses zu ändern und dann einen Swap neu zu erstellen. Das Verschieben einer Partition kann sehr lange dauern und der Swap enthält keine Daten, die Sie behalten müssen.
quelle
sudo -E gparted
gparted
Sie mit Wayland arbeiten (nicht sicher, ob diese Probleme behoben wurden):xhost +SI:localuser:root
Wenn Sie das neuere Debian Wheezy-Image verwenden: http://www.raspberrypi.org/archives/1435 Mit einem Boot-Skript können Sie die Größe ändern, um die SD-Karte automatisch zu füllen.
quelle
Ich folgte diesem Video und es funktionierte perfekt für mich (ich habe eine 16 GB Karte):
http://www.youtube.com/watch?v=R4VovMDnsIE&feature=plcp
quelle