Dies ist eine häufige Frage - insbesondere in der heutigen Umgebung virtueller Umgebungen. Leider ist die Antwort nicht so einfach, wie man annehmen könnte.
dd ist die offensichtliche erste Wahl, aber dd ist im Wesentlichen eine Kopie, die Sie dazu zwingt, jeden Datenblock zu schreiben (wodurch der Dateiinhalt initialisiert wird) ... Und diese Initialisierung nimmt so viel E / A-Zeit in Anspruch. (Möchten Sie, dass es noch länger dauert ? Verwenden Sie / dev / random anstelle von / dev / zero ! Dann verwenden Sie sowohl die CPU- als auch die E / A-Zeit!) Am Ende ist dd jedoch eine schlechte Wahl (obwohl im Wesentlichen die Standardmäßig wird von der VM "GUIs erstellen" verwendet. Z.B:
dd if=/dev/zero of=./gentoo_root.img bs=4k iflag=fullblock,count_bytes count=10G
Abschneiden ist eine andere Wahl - und wahrscheinlich die schnellste ... Aber das liegt daran, dass eine "spärliche Datei" erstellt wird. Im Wesentlichen ist eine Datei mit geringer Dichte ein Abschnitt der Festplatte, der viele der gleichen Daten enthält, und das zugrunde liegende Dateisystem "betrügt", indem es nicht wirklich alle Daten speichert, sondern nur "vorgibt", dass alles vorhanden ist. Wenn Sie also Truncate verwenden, um ein 20-GB-Laufwerk für Ihre VM zu erstellen, weist das Dateisystem tatsächlich keine 20 GB zu, aber es betrügt und sagt, dass dort 20 GB Nullen vorhanden sind, obwohl nur eine Spur auf der Festplatte vorhanden ist kann tatsächlich (wirklich) in Gebrauch sein. Z.B:
truncate -s 10G gentoo_root.img
fallocate ist die letzte - und besten - Wahl für die Verwendung mit der Datenträgerzuweisung VM, da es im Wesentlichen „Reserven“ (oder „zuordnet“ alle des Raumes Sie suchen, aber es nicht zu schreiben etwas stört also. Wenn Sie mit fallocate einen virtuellen Speicherplatz von 20 GB erstellen, erhalten Sie tatsächlich eine 20-GB-Datei (keine "spärliche Datei"), und Sie haben sich nicht die Mühe gemacht, etwas darauf zu schreiben - was bedeutet, dass praktisch alles darin sein könnte da - irgendwie wie eine brandneue Scheibe!) ZB:
fallocate -l 10G gentoo_root.img