ubuntuusers.de

Grub nutzt menu.lst nicht

Status: Ungelöst | Ubuntu-Version: Kubuntu 7.10 (Gutsy Gibbon)
Antworten |

Fang-Ling-Su

Avatar von Fang-Ling-Su

Anmeldungsdatum:
11. Dezember 2007

Beiträge: 32

Ich hoffe ich bin hier richtig. Ich habe meine /boot/grub/menu.lst verändert, doch nach einem Neustart ist alles so wie zuvor? Gibt es noch andere Dateien, die Grub aufsucht und nicht meine menu.lst nimmt? Kann das an dem Splashscreen liegen?
Ich habe in dem Grubverzeichnis nur noch eine menu.lst.backup angelegt, aber die wird auch nicht benutzt (habe man die Titel der Einträge abgeändert).

Wo kann ich einstellen, das Grub die menu.lst nimmt?

Mein System:
\boot hat eine extra Partition
Desktop ist KDE

cscherwinski

Avatar von cscherwinski

Anmeldungsdatum:
9. August 2006

Beiträge: 1115

Wohnort: Berlin

Grub liest immer die menu.lst aus.
Eventuell hast Du nicht mit Root-Rechten an der menu.lst gearbeitet?
Konsole:
sudo gedit /boot/grub/menu.lst

Fang-Ling-Su

(Themenstarter)
Avatar von Fang-Ling-Su

Anmeldungsdatum:
11. Dezember 2007

Beiträge: 32

Doch ich habe sudo vim /boot/grub/menu.lst benutz. Nach dem Speichern und schließen und erneutem Öffnen sind auch alle Änderungen noch drin, die ich getätigt habe.

Sonst gibt es ja nicht so viele menu.lst

$ locate menu.lst
/usr/share/doc/grub/examples/menu.lst
/usr/share/doc/memtest86+/examples/grub-menu.lst
/boot/grub/menu.lst.backup
/boot/grub/menu.lst

Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17505

Hallo,
dann zeige doch mal die geänderte menu.lst
Gruß
Ubunux

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

Fang-Ling-Su hat geschrieben:

\boot hat eine extra Partition

Da fallen mir zwei Möglichkeiten ein:

1. Beim Editieren der menu.lst ist die boot-Partition nicht eingehängt, und somit änderst du die falsche Datei. (normalerweise ist auf der root-Partition dann eigentlich kein /boot/grub/... Das kann aber z.B. passieren, wenn man mal bei der Grub-Installation was falsch gemacht hat...)
2. Du hast zwar eine weitere Partition - auf der vielleicht sogar boot-Daten liegen (nun wurde hier falsch installiert...) - der systemstart erfolgt aber von der Root-Partition. Die Daten, die hierfür verwendet werden, kannst Du nicht editieren, da sie nach dem Systemstart von der (ungenutzten) boot-Partition überdeckt werden.

Nicht ausgeschlossen, daß es noch eine dritte Möglichkeit gibt... 😉

Schrotthaufen

Anmeldungsdatum:
22. August 2006

Beiträge: 620

Möchtest du mal die Ausgabe von

sudo fdisk -l


posten?

Fang-Ling-Su

(Themenstarter)
Avatar von Fang-Ling-Su

Anmeldungsdatum:
11. Dezember 2007

Beiträge: 32

Also im Verzeichnis /root ist kein Grubordner oder soetwas, ich habe das Verzeichnis nicht benutzt, da liegen nur so standardmäßig versteckte Systemordner wie .KDE und so.

:/root$ ls -la
insgesamt 17
drwxr-xr-x 11 root root  384 2008-01-11 12:07 .
drwxr-xr-x 22 root root  624 2008-01-10 12:48 ..
-rw-r--r--  1 root root 2227 2007-05-15 18:07 .bashrc
drwxr-xr-x  2 root root   80 2007-12-02 18:12 .config
drwxr-xr-x  3 root root  112 2007-12-02 18:37 .dvdcss
-rw-------  1 root root 1150 2008-01-11 12:07 .ICEauthority
drwx------  3 root root  168 2007-12-02 17:28 .kde
drwx------  3 root root   72 2007-12-02 19:41 .local
drwxr-xr-x  3 root root  112 2007-12-02 18:11 .mcop
-rw-------  1 root root   31 2007-12-09 19:10 .mcoprc
-rw-r--r--  1 root root  141 2007-05-15 18:07 .profile
drwxr-xr-x  2 root root   48 2007-12-02 17:28 .qt
drwxr-xr-x  2 root root  120 2008-01-04 17:59 .superkaramba
drwx------  3 root root   72 2007-12-05 17:35 .thumbnails
drwxr-xr-x  2 root root  104 2007-12-02 18:40 .xine

Ich habe neulich nur mal eine Partition für ein Windows für meine Frau angelegt mit NTFS, könnte ja dann nur noch da die menu.lst sein, die benutzt wird, was ich komisch fände.
Habe die Partition mal eingehängt, aber da ist nix drauf wie es sein sollte.

Muss ich grub neu installieren?

$ sudo fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
240 heads, 63 sectors/track, 10337 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Disk identifier: 0xc1c6c1c6

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13       98248+  83  Linux
/dev/sda2              14        9058    68380200    5  Extended
/dev/sda3            9059       10337     9669240    7  HPFS/NTFS
/dev/sda5              14         274     1973128+  82  Linux swap / Solaris
/dev/sda6             275        2341    15626488+  83  Linux
/dev/sda7            2342        9058    50780488+  83  Linux

Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17505

Hallo,
bitte nicht das Verzeichnis /root mit einer root-Partition verwechseln. Zeige mal die Ausgabe von

ls -l /


Gruß
Ubunux

Fang-Ling-Su

(Themenstarter)
Avatar von Fang-Ling-Su

Anmeldungsdatum:
11. Dezember 2007

Beiträge: 32

$ ls -l /
insgesamt 22
drwxr-xr-x   2 root root  2696 2007-12-06 15:05 bin
drwxr-xr-x   5 root root  1024 2008-01-11 11:42 boot
lrwxrwxrwx   1 root root    11 2007-12-01 09:13 cdrom -> media/cdrom
drwxr-xr-x  13 root root 14080 2008-01-11 14:33 dev
drwxr-xr-x 123 root root  6592 2008-01-11 15:00 etc
drwxr-xr-x   6 root root  4096 2008-01-11 00:04 home
drwxr-xr-x   2 root root    48 2007-12-01 09:14 initrd
lrwxrwxrwx   1 root root    33 2007-12-01 09:17 initrd.img.old -> boot/initrd.img-2.6.22-14-generic
drwxr-xr-x  17 root root  4944 2007-12-12 19:58 lib
drwxr-xr-x   4 root root   208 2008-01-11 14:33 media
drwxr-xr-x   2 root root    48 2007-10-08 12:47 mnt
drwxr-xr-x   2 root root    48 2007-12-14 13:45 opt
dr-xr-xr-x 124 root root     0 2008-01-11 14:32 proc
drwxr-xr-x  11 root root   384 2008-01-11 12:07 root
drwxr-xr-x   2 root root  4424 2008-01-11 15:08 sbin
drwxr-xr-x   2 root root    48 2007-12-01 09:14 srv
drwxr-xr-x  12 root root     0 2008-01-11 14:32 sys
drwxrwxrwt   8 root root   296 2008-01-11 15:09 tmp
drwxr-xr-x  11 root root   264 2007-12-01 09:21 usr
drwxr-xr-x  16 root root   384 2008-01-03 12:18 var
lrwxrwxrwx   1 root root    30 2007-12-01 09:17 vmlinuz.old -> boot/vmlinuz-2.6.22-14-generic


Ich habe jetzt mit sudo apt-get remove grub und apt-get install grub nochmal neuinstalliert, werde ich gleich mals noch testen.

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

Und ich hätt' gern noch diese Informationen (direkt nach einem frischen Neustart / falls Fehlermeldungen auftreten einfach weitermachen...):

sudo umount /boot
ls -la /boot/grub/menu.lst
sudo mount /dev/hda1 /boot
ls -la /boot/grub/menu.lst

Das neuinstallieren des _Pakets_ grub wird nichts bewirken...

Fang-Ling-Su

(Themenstarter)
Avatar von Fang-Ling-Su

Anmeldungsdatum:
11. Dezember 2007

Beiträge: 32

$ sudo umount /boot
[sudo] password for daniel:
umount: /boot: device is busy
umount: /boot: device is busy
$ ls -la /boot/grub/menu.lst
-rw-r--r-- 1 root root 4410 2008-01-11 15:09 /boot/grub/menu.lst
$ sudo mount /dev/sda1 /boot
mount: /dev/sda1 already mounted or /boot busy
mount: according to mtab, /dev/sda1 is already mounted on /boot


Ich bekomme die /boot Partition schon nicht ausgehängt. Habe außer Browser und Konsole nix am laufen...und mit dem Prompt bin ich im Homeverzeichnis.

$ sudo lsof /dev/sda1
COMMAND  PID USER   FD   TYPE DEVICE   SIZE NODE NAME
klogd   4521 klog    1r   REG    8,1 823535   15 /boot/System.map-2.6.22-14-generic


Kann ich den Prozess Killen?

Fang-Ling-Su

(Themenstarter)
Avatar von Fang-Ling-Su

Anmeldungsdatum:
11. Dezember 2007

Beiträge: 32

Habe klogd gestoppt.

$ sudo umount /boot
$ ls -la /boot/grub/menu.lst
-rw-r--r-- 1 root root 4265 2007-12-01 09:38 /boot/grub/menu.lst
$ sudo mount /dev/sda1 /boot
$ ls -la /boot/grub/menu.lst
-rw-r--r-- 1 root root 4410 2008-01-11 15:09 /boot/grub/menu.lst

So, ich habe /boot wieder ausgehängt und in dem noch immer vorhandenen Verzeichnis /boot/grub/ die menu.lst entdeckt. Aber kann ich den kompletten Inhalt des falschen /boot Verzeichisses löschen? Ich vermute mal es ist irgendwo vielleicht ein fehler in der /etc/fstab drin, so dass die Partition nicht eingebunden wird.

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/sda6
UUID=e0c22755-a3b7-4bc6-9600-d95fdf824316 /               reiserfs notail          0       1
/dev/sda7       /home           ext3     defaults        0       2
# /dev/sda1
UUID=84f516b7-d86a-4851-a107-0aeae4a50d52 /boot           ext3     defaults        0       2
# /dev/sda5
UUID=3a8a4a25-e56c-49d3-9de0-2d31cfe783a1 none            swap     sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec 0       0

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

Fang-Ling-Su hat geschrieben:

Ich vermute mal es ist irgendwo vielleicht ein fehler in der /etc/fstab drin, so dass die Partition nicht eingebunden wird.

Nein, kein Fehler. Die Partition wird doch eingebunden. Du hast sie doch - nach dem Beenden von klogd - erfolgreich aushängen können.

Wenn sich bei eingehängter boot-Partition eine Veränderung an /boot/grub/menu.lst nicht auswirkt, dann ist dein Grub einfach nicht in Bezug auf sda1 installiert worden. (Selbst wenn eine boot-Partition korrekt funktioniert, so wird sie erst lange nach Grub eingebunden...)
Von daher ist es sogar schädlich, wenn bei dir anschließend dann ein "fremdes" Kernelverzeichnis in /boot eingehängt wird: Kernelupdates werden dann dorthin installiert und auch deren menu.lst angepasst. Beim Systemstart ist dann aber wieder alles beim gleichen, der alte Kernel wird gestartet.

Da dein System scheinbar erfolgreich ohne extra boot-Partition startet, würde ich einfach den entsprechenden Eintrag aus der fstab schmeißen (erst mal auskommentieren).
Die Partition würde ich stehen lassen, ist ja nicht so groß. Wenn Du sie nämlich löscht, dann müßtest Du die (dann eindeutige) /boot/grub/menu.lst korrigieren (in der /etc/fstab wäre nichts zu korrigieren, da dort brav mit UUIDs gearbeitet wird.) Wenn Du dir das allerdings zutraust: Kein Problem. Du solltest aber - im Fall der Fälle - in der Lage sein, dein System per LiveCD zu beinflussen...

Fang-Ling-Su

(Themenstarter)
Avatar von Fang-Ling-Su

Anmeldungsdatum:
11. Dezember 2007

Beiträge: 32

Ich hoffe ich habe das richtig verstanden:
Am besten die /boot Partition aus der fstab entfernen (auskommentieren) und sonst alles beim alten lassen!?

Also ich traue es mir zu das System von einer Live-CD zu bearbeiten:
Gibt's eine Möglichkeit die von mir extra angelegte /boot Partition auch als solche nutzen zu können?

Vielleicht so:
Die menu.lst die Grub derzeit tatsächlich nutzt auch in die /boot partition kopieren, weil die menu.lst funktioniert ja
Anschließend

$: sudo grub
> root (sd0,0)
> setup (sd0)
> quit


Könnte das funktionieren?

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

Fang-Ling-Su hat geschrieben:

Ich hoffe ich habe das richtig verstanden:
Am besten die /boot Partition aus der fstab entfernen (auskommentieren) und sonst alles beim alten lassen!?

Wenn ich es mir genau überlege, könnte ich diese Frage erst beantworten, wenn ich den Inhalt der tatsächlich relevanten menu.lst kennen würde. Von daher plädiere ich nun für meinen später folgenden Vorschlag...

Fang-Ling-Su hat geschrieben:

Vielleicht so:
Die menu.lst die Grub derzeit tatsächlich nutzt auch in die /boot partition kopieren, weil die menu.lst funktioniert ja
Anschließend

$: sudo grub
root (sd0,0)
setup (sd0)
quit


Könnte das funktionieren?

Nein, nicht ganz:
1. In deinen Befehlen muß es "(hd0,0)" bzw. "(hd0)" heißen. Damit wäre dann Grub schon mal so installiert, daß er seine Komponenten tatsächlich von sda1 holen würde...
2. Ohne die (jetzt als richtige identifizierte ) menu.lst zu kennen, kann ich nicht sagen, ob daran noch Korrekturen vorgenommen werden müßten.
3. Eventuell existiert momentan ein Wirrwar: Welche Kernels sind wann wo hininstalliert worden.

Ich traue mir jedenfalls nicht zu, hier eine funktionierende Anleitung zu geben. Anderer Vorschlag

1. Sicherstellen, daß die boot-Partition in /boot eingehängt ist. Sicherstellen, daß dort auch das/die Kernelimages liegen. Sicherheitshalber zumindest den aktuellen Kernel nochmals installieren lassen:

sudo apt-get install --reinstall linux-image-$(uname -r)


2. Alte menu.lst aus dem Weg räumen

sudo mv /boot/grub/menu.lst sudo mv /boot/grub/menu.old


3. Grub neu installieren und dabei eine frische menu.lst erzeugen lassen:

sudo grub-install --recheck hd0


4. die menu.lst kontrollieren: Dort muß von "root (hd0,0)" die Rede sein. (das ist jetzt etwas paranoid... 😉
5. Neustart prüfen.
6. die Bootpartition aushängen und dann das verwaiste Verzeichnis /boot leeren:

sudo umount /boot && rm -rf /boot/*
Antworten |