Ich hatte die folgende Konfiguration von Partitionen auf alten 160-GB-Festplatten:
/sda
/sda1 - 100MB - NTFS - System Recovery (hidden Windows partition)
/sda2 - 75GB - NTFS - Windows
/sda3 - extended partition
/sda5 - 75GB - EXT4 - Debian
/sda6 - 8GB - swap - swap partition
Ich habe GPart verwendet, um eine neue 500-GB-Festplatte mit identischer Reihenfolge der entsprechenden Partitionen, aber unterschiedlicher Größe (und einer zusätzlichen Partition am und) vorzubereiten. Ich wollte sie nacheinander mit Clonezilla klonen:
/sda
/sda1 - 100MB - NTFS - System Recovery (hidden Windows partition)
/sda2 - 160GB - NTFS - Windows
/sda3 - extended partition
/sda5 - 160GB - EXT4 - Debian
/sda6 - 32GB - swap - swap partition
/sda7 - 110GB - NTFS - additional partition
Bisher hat alles wie erwartet funktioniert. Ich habe Alt sda1
in Neu geklont sda1
, Alt sda2
in Neu sda2
und Alt sda5
in Neu sda5
. Es wurde nicht gebootet geklont und ich musste es manuell mit einer Live-CD wiederherstellen:
mount /devsda5 /mnt
--bind /dev /mnt/dev
--bind /proc /mnt/proc
--bind /sys /mnt/sys
chroot /mnt
grub-install /dev/sda5
update-grub
Es hat die von mir installierten Kernel sowie die Windows-Partition korrekt erkannt.
Das Problem trat auf, als ich versuchte, Debian zu starten. Das Booten mit dem neuesten Kernel blieb auf dem Loading please wait...
Bildschirm hängen. Das Booten im Problemlösungsmodus blieb hängen Running /script/local-premount
. In ähnlicher Weise endet der Versuch, Windows zu starten, mit einer Meldung über eine beschädigte Installation.
Überraschenderweise bin ich in der Lage, Debian mit einem älteren Kernel zu booten (derzeit auf Jessies vorherigem Kernel von Wheezy). In diesem Fall kann jedoch keine andere Partition eingehängt werden, auch nicht die, die auf einem anderen physischen Laufwerk gespeichert sind, das von dem Vorgang nicht betroffen sein konnte, da es gleichzeitig vom Computer entfernt wurde.
Was könnte die Ursache des Problems sein? Welche Informationen könnte ich zur Verfügung stellen, um es herauszufinden?
BEARBEITEN:
Ich habe gelernt, dass der Start des neuesten Kernels ohne quiet
Option dieselben Ergebnisse wie der Wiederherstellungsmodus zeigt. Nach einiger Wartezeit (einige Minuten) erhalte ich eine weitere Nachricht:
Begin: Running /scripts/local-premount ... resume: Could not stat the resume device file: '/dev/disk/by-uuid/[uuid]'
Please type in the full path name to try again
or press ENTER to boot the system:
Nachdem ich die Eingabetaste gedrückt hatte, wurde das System endlich gebootet. Es stellt sich jedoch heraus, dass es sich bei der fehlenden Partition um die Swap-Partition handelt:
$cat /proc/meminfo | grep Mem # I have 8GBs of RAM
MemTotal: 8154632 kB
MemFree: 1367032 kB
MemAvailable: 4750344 kB
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/sda6 partition 33554428 0 -1
Wo kann ich sicherstellen, dass die Partition tatsächlich verwendet wird?
quelle
Antworten:
Nachdem ich Partitionen geklont hatte, gab es einige Fehler, von denen mir keiner bewusst war.
Unter Linux verwenden mehrere Programme die Geräte-UUID anstelle der
/dev/sdX
Notation. Tatsache ist zB, dass/etc/fstab
dies der empfohlene Weg ist. In meinem Fall handelte es sich um Einträge zu Swap-Partitionen. Infolgedessen blieb das Initialisierungsskript eine Weile hängen, bevor es aufgab und weiterging.Mit habe
grep -r [UUID] /
ich alle Orte gefunden, an denen alte Swap-Partitionen verwendet wurden. Ich habe den Wert durch einen übereinstimmenden Wertsudo blkid
in den Dateien ersetzt:Dann musste ich sicherstellen, dass diese Werte in initrc-Skripten landeten. Dies kann durch manuellen Aufruf oder (in meinem Fall) durch Deinstallieren und erneutes Installieren erfolgen
uswsusp
(Swap-Partition wird auch zum Speichern von Ruhezustandsdaten verwendet).Danach wurde die Swap-Partition korrekt geladen und der Bootvorgang war schnell.
auf der Windows-
System Restore
Partition wurde geklont, aber nicht als aktiv markiert - infolgedessen konnten die System Repair Tools dies nicht erkennen und das MBR-Setup reparieren. Ich musste:diskpart
,list disk
und wähle sie mit ausselect disk [NUMBER]
,list partition
und wähle sie mit ausselect partition [NUMBER]
,active
,bootrec /fixmbr
undbootrec /fixboot
könnten sich als nützlich erweisen).Natürlich musste ich in der Zwischenzeit Grub wiederherstellen, weil ich es nicht geklont habe:
quelle