Frage von roffermann, 39

"sudo chroot /mnt /bin/bash" klappt nicht?

Guten Abend zammen, ich habe ein kleines Problem. Ich habe mein Grub2 zerschossen und wollte jetzt mit einer Live-dvd und dem Befehl "sudo chroot /mnt /bin/bash" in das installierte System zugreifen. Es klappt aber leider nicht. Jetzt kommt die Antwort des

Terminal = " chroot: failed to run command/bin/bash: no such file or directory.

Das gleich kommt auch ohne /bin/bash bei der Eingabe. Die Frage an euch =

Woran kann es liegen das ich nicht ins andere System komme ??

Das hatte ich noch nie. Ich danke für eure Antworten und schönen Abend noch.

Goofy

Ubuntu 12.04

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Linuxhase, 24

Hallo

Ich habe mein Grub2 zerschossen

Das kann man reparieren, entweder mittels Live-CD/DVD & chroot oder indem man mit der SuperGrubDisk in das betreffende System bootet.

Bevor man mit chroot anfängt braucht es ein paar Informationen zur Aufteilung
der Festplatte(n), diese bekommt man indem man folgende Kommandos
ausführt, gegebenenfalls mit root Rechten:

fdisk -l # Das ist ein kleines L und KEINE 1
lsblk
blkid

Bei

fdisk

hat man leider keine Informationen über die Mountpoints, sieht lediglich welche HDDs und Partitionen wie groß sind und mit welchem Dateisystem formatiert wurden.

Bei

lsblk

sieht man ebenfalls  die Größen, aber auch die Mountpoits die vergeben wurden.Wissen musst Du aber selbst welche der angegebenen Partitionen in welchem System eingehängt sind bzw. sein sollen.Hier  kommt das letzte Kommando ins Spiel, zeigt es doch auch die Label, also die Bezeichnung der jeweiligen Partitionen mit an. Hat man nun beim partitionieren & formatieren der Festplatte(n) auch eindeutige Labels vergeben, dann kann man aus den Informationen insgesamt erkennen welche die gesuchte Partition ist.

-------------------------------------------------------------------------------------------------

Bei mir gab es mal folgende Bezeichnungen:

Label | Zuordnung
------|------------------------------------------------
WIN_C | Windows Das Laufwerk C:\
WID_D | Windows Das Laufwerk D:\
SROOT | openSUSE Meine / Partiton von openSUSE
SHOME | openSUSE Meine /home Partition von openSUSE
MROOT | Linux-Mint Meine / Partiton von Linux-Mint
MHOME | Linux-Mint Meine /home Partition von Linux-Mint
LDATA | Linux Diese Partition dient beiden Linuxen
für gemeinsam genutzte Daten

So kann ich genau sehen welche Partition zu welcher Installation gehört. Nur so als Tipp fürs nächste Neu Einrichten

-------------------------------------------------------------------------------------------------

Hat man nun alle benötigten Informationen, dann geht das chrooten so:

sudo mount /dev/sda2 /mnt
# Wobei dies die / Partition des Systems ist in welches
# man chrooten möchte hier beispielhaft sda2.
sudo mount /dev/sda1 /mnt/boot
# Nur nötig sofern /boot eine eigene Partition ist.
sudo mount -o bind /dev /mnt/dev
sudo mount -t proc /mnt/proc
sudo chroot /mnt

Damit sollte man in das System kommen und kann dort die Reparatur durchführen.

Linuxhase

Kommentar von roffermann ,

Hallo Linuxhase, ich habe es derzeit dann doch geschafft rein zu kommen. Wie schon im anderen Kommentar beschrieben mußte ich die / Partition nochmals mounten. Als ich dann drin war konnte es die Partition sda nicht mehr finden. Da ich eine zweite Linuxpartition zuvor gelöscht habe und dann die freien Partitionen zu einer Großen gemacht habe hätte es sein können, daß aus diesem Grund die Partition sda irgentwie beschädigt wurde. Das es sda nicht finden konnte konnte es auch kein neues Grub Setup durchführen. Aus diesem Grunde habe ich dann auch diese Installation ganz neu gestartet. Besten Dank für diese ausführliche Antwort, sie wird der Nachwelt sicher helfen können. Oder wenn ich nochmal solche Probleme bekomme. Bedankt Goofy

Kommentar von Linuxhase ,

@roffermann

mußte ich die / Partition nochmals mounten.

Man kann ein Dateisystem mounten aber doch nicht nochmal?

Als ich dann drin war konnte es die Partition sda nicht mehr finden.

Wer ist "es" und wie genau sieht denn die /etc/fstab aus?

Da ich eine zweite Linuxpartition zuvor gelöscht habe und dann die freien Partitionen zu einer Großen gemacht habe

Was natürlich die Partitiontabelle....

daß aus diesem Grund die Partition sda irgentwie beschädigt wurde.

....und ändert und somit auch die UUID der einzelnen Partitionen.

Wenn in der /etc/fstab die Partitionen über Device-Namen (/dev/sdXX usw.) gemonutet werden ist das meist nicht so tragisch, aber heutzutage mountet man über die UUID oder das Label, da muss die /etc/fstab angepasst werden.

Linuxhase

Antwort
von Rynak, 26

Hast du das System denn auch unter /mnt gemountet?

Kommentar von roffermann ,

Ja habe ich - sudo mount /dev/sda1 /mnt - aber trotzdemklappt es nicht.

Kommentar von Rynak ,

Was ist denn die Ausgabe von nur
(sudo) chroot /mnt ?

Kommentar von roffermann ,

chroot: cannot change root directory to /mnt: Operation not permitted

und mit sudo kommt die aussage wie schon oben beschrieben

Kommentar von Rynak ,

Geh mal ins Verzeichnis /mnt/bin und schaue ob es eine Datei bash gibt oder benutzt du eine andere Shell?

Kommentar von roffermann ,

anscheinend habe ich nicht richtig gemountet, denn der <ordner mnt ist völlig leer.

Kommentar von Rynak ,

Was gibt denn 'lsblk' als mountpoint aus? Wenn keiner angegeben ist, mounte es nochmal und achte auf Fehlermeldungen.

Kommentar von roffermann ,

So wie es aussieht habe ich die richtigen Partitionen gemountet und es gab derzeit auch keine Fehlermeldung.

Kommentar von Rynak ,

Das heißt bei /dev/sda1 steht /mnt daneben aber /mnt ist leer? Dann wäre ja sda1 leer, sicher dass es die richtige Partition ist?

Kommentar von roffermann ,

sda 1 und 5 sind die richtigen. Doch auch wenn die leer wären müßten die sich doch mounten lassen. Es könnte nämlich sein das die leer sind da ich eine 2. Ubuntustudio installation gelöscht habe und etwas raten mußte welche die richtigen Partitionen sind.

Kommentar von Rynak ,

Ach ja, ich weiß ja nicht was du alles zerschossen hast, aber meistens braucht man kein chroot um Grub zu installieren

Kommentar von roffermann ,

Ich habe nur die 2. Installation gelöscht und da war wohl der Bootloader mit drauf.

Kommentar von Rynak ,

Du hast eben noch geschrieben, mounten hätte geklappt, ging es jetzt wieder nicht? Sonst such einfach auf welcher Partition dein System liegt,indem zu alle mal mountest

Kommentar von roffermann ,

Doch jetzt ist in mnt was zu sehen und der Terminal sagt es ist gemountet. Jedoch die Fehlermeldung ist immernoch die gleich wie oben beschrieben.

Kommentar von DigitalZ ,

Dann versuche doch chroot /mnt /bin/sh und hast du denn die anderen Direktories mit eingebunden (proc, sys, tmp, run, dev) ? Falls du noch Hilfe benötigst gibt es hier eine sehr gute Anleitung. https://wiki.ubuntuusers.de/chroot/Live-CD/

Kommentar von roffermann ,

Mach ich jetzt mal. Die Seite habe ich derzeit schon als Anleitung genommen, doch auch das Einbinden der anderen Sachen ist fehlgeschlagen.

Kommentar von Rynak ,

Mounte es mal und navigiere in /mnt zum Ordner /bin und schaue ob dort die Datei bash zu finden ist.

Kommentar von roffermann ,

Ich hatte es heute Mittag dann doch geschafft, indem ich sda1 nochmal nach sda5 mountete und direkt danach das chroot eingegeben habe. Dann war ich zumindest drin und mußte feststellen das man Grub nicht mehr erneut installieren konnte. Der fand sda nicht mehr. Auch die Super Grub disk fand kein sda und reparierte nicht. Egal, dann habe ich eben alles neu installiert und jetzt klappt es. Nur schade um die schon installierten Programme und Aktuallisierungen, da ich nur 5 GB Downloadvolumen im Monat habe. Doch besten Dank für deine Hilfe - Goofy -

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten