Muss ich ein Grub-Update ausführen, nachdem ich meine Ubuntu-Partition auf meiner neuen SSD geschlossen habe?

Muss ich ein Grub-Update ausführen, nachdem ich meine Ubuntu-Partition auf meiner neuen SSD geschlossen habe?

Ich bin relativ neu bei Ubuntu und verwende 12.04 LTS seit einigen Monaten. Ich habe es auf einem rotierenden 160-GB-Medienlaufwerk von Seagate installiert und es läuft im Dual-Boot-Modus mit Windows Vista, und alles läuft gut. Ich habe vor Kurzem eine 120 GB große Kingston HyperX-SSD installiert und Clonezilla verwendet, um die Ubuntu-Partition auf die SSD zu klonen. Das hat gut funktioniert, und da nur die Kingston angeschlossen ist, kann ich problemlos darauf booten.

Letztendlich möchte ich von der Kingston-SSD booten und die Seagate für Daten verwenden, wobei ich gelegentlich Vista boote. (Ich lasse die ursprüngliche Ubuntu-Installation als Backup auf der Seagate.)

Wenn mein PC hochfährt, drücke ich ESC, um das Startmenü aufzurufen, wähle Kingston aus, rufe das Grub-Menü auf und zeitweise scheint es, als würde er tatsächlich von Seagate starten. Ich weiß das, weil ich hören kann, wie auf die Festplatte zugegriffen wird, und weil ich im Systemmonitor den für Ubuntu verfügbaren Speicherplatz sehe.

Wenn nur die Kingston-Festplatte angeschlossen ist, startet Ubuntu problemlos, daher weiß ich, dass es funktioniert. Wenn aber auch die Seagate-Festplatte angeschlossen ist, kommt Ubuntu im Grub-Menü meiner Meinung nach durcheinander und startet manchmal von der Seagate-Festplatte und manchmal von der Kingston-Festplatte.

Meine Frage ist nun (abgesehen vom Löschen der Ubuntu-Installation auf der Seagate): Glauben Sie, dass ich ein Grub-Update ausführen muss, während nur die Kingston angeschlossen ist, damit sich das System an seinem neuen Standort zurechtfindet?

Dank im Voraus.

Antwort1

Ich denke, es ist passiert: Beim Klonen entstehen zwei Partitionen mit derselben UUID. Daher können Grub beim Booten oder das Betriebssystem beim Mounten nicht zwischen ihnen unterscheiden.

  1. Booten Sie mit einer Live-CD oder einem USB-Stick.
  2. Hängen Sie alle automatisch gemounteten Partitionen aus.
  3. Öffnen Sie das Terminal und führen Sie es aus, sudo fdisk -lum den Gerätepfad Ihrer SSD-Partition anzuzeigen.
  4. Neue UUID für geklonte SSD-Partition generieren (scheint /dev/sda1in Ihrem Fall so zu sein)

    tune2fs /dev/sdxy -U random
    
  5. Kopieren Sie diese UUID von:

    sudo blkid /dev/sdxy
    

    Mounten Sie die SSD-Partition (/dev/sda1), bearbeiten Sie sie /etc/fstab, um die alte UUID durch die neue zu aktualisieren:

    sudo nano /media/ssd_part/etc/fstab
    

    /media/ssd_part/ist dort, wo es montiert ist.

    Ersetzen Sie die alte UUID durch die kopierte in der Zeile für Root /.Beispiel:

    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda1 during installation
    UUID=4c0c4c6d-708b-45b0-b9e9-a5e6a7de491e /               ext4    errors=remount-ro 0       1
    # /media/sneetsher/gnu_files/ was on /dev/sda5 during installation
    UUID=bf958b50-c15a-45fd-b946-36ab1612045b /media/sneetsher/gnu_files/ ext4    defaults        0       2
    # swap was on /dev/sda2 during installation
    UUID=d15727d5-78c2-4a46-aa67-66895d7f6371 none            swap    sw              0       0
    

    In diesemBeispiel, Sehen Sie sich diese Zeile an, deren Einhängepunkt ist/

     UUID=4c0c4c6d-708b-45b0-b9e9-a5e6a7de491e /               ext4    errors=remount-ro 0       1
    
  6. Installieren Sie Grub auf der SSD neu

    sudo grub-install --root-directory=/media/ssd_part /dev/sdx
    

An diesem Punkt erkennt Grub auf SSD alle Betriebssysteme. Grub auf HDD listet Ubuntu von SSD jedoch immer noch nicht auf.

Wenn jedes Laufwerk eine Partition mit Boot-Flag hat, bootet das BIOS das erste Laufwerk in der Boot-Reihenfolge. Wenn Sie also von einer alten Festplatte gebootet haben, aktualisieren Sie deren Grub.

sudo update-grub2

Dann verfügen beide Laufwerke über Grub mit allen aufgelisteten Betriebssystemen.

verwandte Informationen