So verstecken Sie die Wiederherstellungspartition vor Grub2

5811
Nostradamnit

Ich habe eine Linux-Distribution auf dem PC eines Freundes installiert. Er weiß nicht, wie man Linux oder sogar Windows sehr gut benutzt, und ich möchte, dass es so einfach wie möglich ist. Bei der Installation von GRUB wurde die von HP installierte Wiederherstellungspartition und das erste Windows in der Liste gefunden.

Nach einigem Googeln und Durchsuchen des grub-Handbuchs und der Konfigurationsdateien kann ich immer noch nicht herausfinden, wie eine Partition vor GRUB ausgeblendet wird. Ich schaute mich an 30_osprober, sah aber keine klare Möglichkeit, ein Betriebssystem auszuschließen.

Kann mir jemand die richtige Richtung weisen, um ein OS / eine Partition aus dem GRUB-Menü auszuschließen?

0

3 Antworten auf die Frage

5
Fabrizio C

Ich habe die Richtlinien dieses Beitrags (im Abschnitt 6) befolgt.

GRUB 2 sucht und erstellt einen Menüeintrag für die Windows-Wiederherstellungspartition (Vista). Zumindest in Vista entspricht der Menüname der normalen Vista-Betriebspartition, der einzige Unterschied besteht in der Teilebezeichnung. So entfernen Sie den Wiederherstellungspartitionseintrag aus dem Menü:

  • Sichern Sie die vorhandene /etc/grub.d/30_os-proberDatei, entfernen Sie das ausführbare Bit aus der Sicherung, damit es während der Aktualisierung nicht ausgeführt wird, und öffnen Sie das Original zur Bearbeitung (der Abschnitt beginnt in Zeile 134):

    sudo cp /etc/grub.d/30_os-prober /etc/grub.d/30_os-prober.original && sudo chmod -x 

    /etc/grub.d/30_os-prober.original

    gksu gedit +83 /etc/grub.d/30_os-prober & 
  • Bestimmen Sie den genauen Titel und die Windows-Wiederherstellungspartition. Diese können im gefunden werden /boot/grub/grub.cfg file. Fügen Sie den Eintrag unten hinzu. Im Beispiel wurde der Menüeintrag als "Windows Vista (Loader) (unter / dev / sda1)" angezeigt. Stellen Sie sicher, dass Sie die richtige Partition auswählen, da der Titel für die normalen und Wiederherstellungs-Titel identisch sein kann. Der Inhalt $LONGNAMEund $ sollte der genaue Inhalt zwischen den Anführungszeichen im Menüeintrag für die Wiederherstellungspartition sein:

    for OS in $ ; do DEVICE="`echo $ | cut -d ':' -f 1`" LONGNAME="`echo $ | cut -d ':' -f 2 | tr '^' ' '`" LABEL="`echo $ | cut -d ':' -f 3 | tr '^' ' '`" BOOT="`echo $ | cut -d ':' -f 4`"  if [ -z "$" ] ; then LONGNAME="$" fi  # Added to remove Windows Recovery if [ "$LONGNAME" = "Windows Vista (loader)" ] && [ "$" = "/dev/sda1" ] ; then continue fi # End Added 

Speichern Sie die Datei und führen Sie dann Folgendes aus:

sudo update-grub 

Anstelle von Vista musste ich an Windows 7 denken (die Methode ist die gleiche) und alles hat funktioniert.

1
Dan M.

// BEARBEITEN // Geändert aufgrund von Bearbeitungen (Ich schwöre, dass sich dies beim Tippen geändert hat)

Eine schmutzige Lösung ist die Bearbeitung der Datei grub.cfg. Dies muss jedoch jedes Mal geschehen, wenn ein Kernel-Upgrade durchgeführt wird.

In grub v2: (HINWEIS: NICHT EMPFOHLEN)

vim /boot/grub/grub.cfg 

Der richtige Weg, dies zu erreichen, besteht darin, /etc/grub.d/30_os-prober (wie erwähnt) zu bearbeiten und bestimmte Partitionen zu ignorieren. Eine gute Anleitung finden Sie hier

Schmutzige Lösung Nr. 2 könnte darin bestehen, ein Skript auszuführen, das diese Zeile aus der Datei "grub.cfg" für Ihren Buddy auskommentiert.

0
user948930

In der Datei / etc / default / grub können Sie hinzufügen

GRUB_OS_PROBER_SKIP_LIST mit einer Liste von durch Leerzeichen getrennten UUIDs @ path_to_device

zum Beispiel GRUB_OS_PROBER_SKIP_LIST = 12345 @ / dev / sda1

um OS_PROBER diese Dateisysteme überspringen zu lassen.

Sie können eine Liste der UUIDs von lsblk -fs erhalten

Hier erfahren Sie mehr über GRUB_OS_PROBER_SKIP_LIST .