Nie można chroot / mnt / sysimage po wprowadzeniu nowego obrazu na komputerze HP

1

Używam Clonezilla, aby umieścić nowy obraz CentOS 7 na naszych komputerach. Większość z nich to komputery stacjonarne Lenovo i mamy kilka komputerów stacjonarnych HP, na których obecnie działa stary obraz.

Aby nowy obraz działał po przywróceniu go przez Clonezillę do nowego obrazu, musimy wstawić USB z dyskiem ratunkowym CentOS 7 i uruchomić go, aby uruchomić niektóre polecenia, zaczynając od chroot /mnt/sysimage.

Działa to dobrze na komputerach stacjonarnych Lenovo, ale po uruchomieniu tego polecenia na komputerach HP otrzymuję ten komunikat o błędzie:

chroot: failed to run command ‘/bin/bash’: No such file or directory

Zarówno Lenovo, jak i maszyny HP mają ten sam rozmiar HD (80 GB) i na obu z nich wprowadzam dokładnie ten sam nowy obraz. Przez całe życie nie mogę zrozumieć, dlaczego jeden działa, a drugi nie, i nie chcę demontować nowego obrazu i zaczynać od zera (mamy tylko około 5 maszyn HP, reszta to Lenovo) .

Czy ktokolwiek mógłby dostarczyć informacji na temat tego, dlaczego polecenie chroot nie działa na komputerach HP? Dzięki.

snowfi6916
źródło
Czy jedna grupa komputerów uruchamia się przez EFI, a druga przez BIOS? Może to prowadzić do rozruchu w różnych środowiskach.
lungj
Jestem prawie pewien, że oba ładują się przez BIOS.
snowfi6916

Odpowiedzi:

1

Wygląda na to, że / mnt / sysimage nie jest zamontowany zgodnie z oczekiwaniami. Komenda

mount | grep "/mnt/sysimage"

powinien powiedzieć ci, co jest zamontowane /mnt/sysimage. Jeśli nie ma wyjścia, /mnt/sysimage nie jest zamontowany, w takim przypadku spróbuj go zamontować ręcznie. Użyj polecenia:

cat /proc/partitions | tr -s ' ' | cut -d ' ' -f 5

aby uzyskać listę partycji. Więc spróbuj

mount /dev/<partition_name> /mnt/sysimage

Być może będziesz musiał odgadnąć poprawną nazwę partycji. Nie możemy nam powiedzieć z podanych informacji. Aby spróbować innej partycji, odmontuj poprzednią partycję przez

umount /mnt/sysimage
Akash Rawal
źródło
Mam listę partycji, ale za każdym razem próbuję uruchomić mount /dev/<partition_name> /mnt/sysimage Polecenie, że partycja jest chroniona przed zapisem i tylko do odczytu. Potem spróbuję chroot /mnt/sysimage polecenie i otrzymaj dokładnie ten sam błąd, co poprzednio. Jestem całkiem pewien, że to powinno być /dev/sda które montuję, ponieważ moje inne polecenia muszą działać przeciwko temu.
snowfi6916
Możesz mieć problem ze sprzętem. Próbować dmesg | grep sda by dowiedzieć się więcej.
Akash Rawal
1
Może się również zdarzyć, że dysk twardy został wykryty jako sdb w takim przypadku dysk USB jest sda który prawdopodobnie ma system plików iso9660 (który jest tylko do odczytu)
Akash Rawal
Akash, tak się wydaje. Na maszynach, które działają, /dev/sda jest partycją Linuksa, podczas gdy na maszynach, które NIE działają, /dev/sdb jest partycją Linuksa i /dev/sda wydaje się, że jest to dysk USB, który wkładam do dysku ratunkowego.
snowfi6916
0

Komunikat o błędzie jest mylący i oznacza to tylko /bin/bash nie istnieje (nie w twoim przypadku); lub że używany jest dynamiczny program ładujący /bin/bash nie istnieje (prawdopodobnie twój przypadek); lub nawet, że rsync został użyty do utworzenia folderów usr, lib i lib64 bez zachowaj flagę linków.

Najbardziej prawdopodobnym wyjaśnieniem jest brak folderów lib i / lub lib64 twój chroot.

Powinieneś albo skopiować trzy foldery usr, lib i lib64, zachowując linki, albo po prostu mount --bind oni do /mnt/sysimage.

harrymc
źródło
0

Jeśli działa na niektórych komputerach, ale nie na innych, możliwe, że architektury są różne. Podejrzewam, że jeden z nich był ustawiony na 32-bitowy, a drugi na 64-bitowy - należy zapewnić, aby pliki binarne i biblioteki współdzielone istniały dla obu architektur lub pamięć USB nie będzie działać dla obu. .

stuartah
źródło
0

Odkryłem więc, że maszyny HP (wraz z nowszym modelem Lenovos) montowały partycje Linuksa /dev/sdb zamiast /dev/sda kiedy włożyłem Dysk ratunkowy CentOS 7.

Było tak, ponieważ miałem dysk ratunkowy na USB, więc system zamontował USB /dev/sda zamiast innej partycji.

Aby obejść ten problem, pobrałem ISO dla CentOS 7 i nagrałem go na DVD i uruchomiłem. Mogę teraz wykonać moje chroot polecenie bez problemu, ponieważ partycja Linuksa jest teraz włączona /dev/sda.

Dziękujemy wszystkim za sugestie i pomoc.

snowfi6916
źródło