Một cách dễ dàng để khắc phục các sự cố như thế này thường là khởi động từ hệ thống trực tiếp, gắn kết phân vùng gốc /mnt
và sau đó đổi tên tệp.
Nếu bạn không có hệ thống trực tiếp hoặc phương tiện để tạo một hệ thống hoặc bạn không có quyền truy cập vật lý vào hệ thống nhưng bạn có thể khởi động lại và nhận menu GRUB, bạn có thể sử dụng trình soạn thảo GRUB để lấy shell gốc và đổi tên tập tin.
Khởi động lại hoặc tắt nguồn, bật và nếu bạn thường không thấy menu GRUB khi khởi động, nhấn Shifthoặc Escđể vào menu GRUB.
Di chuyển con trỏ xuống Tùy chọn nâng cao cho Ubuntu và nhấn enter, sau đó nhấn eđể chỉnh sửa tùy chọn khởi động (chỉ một lần duy nhất - thay đổi ở đây sẽ không vĩnh viễn, vì vậy chúng tôi không phải dọn dẹp sau đó).
Bạn sẽ thấy một màn hình trông giống như thế này 1 :
Di chuyển con trỏ xuống dòng bắt đầu linux
và sau đó di chuyển con trỏ đến cuối dòng đó hoặc bất kỳ vị trí nào trong số các tham số khởi động kernel ở đó. Hãy chắc chắn rằng bạn đang ở đúng dòng và gõ cẩn thận ở đây, vì hệ thống có thể không khởi động mà không có /etc
tại chỗ.
Thêm văn bản init=/bin/bash
và nhấn F10để khởi động.
Điều này sẽ khởi động hệ thống với shell Bash là init. Bạn sẽ nhận được một shell root và hệ thống tập tin sẽ được gắn chỉ đọc. 2 Để làm cho hệ thống tập tin có thể ghi, hãy nhập lệnh
mount -o remount,rw /
Bây giờ bạn có thể đổi tên /etc
( ls
trước tiên bạn có thể muốn )
mv /apache2 /etc
Bây giờ bạn có thể khởi động lại hoặc hoàn thành khởi động bình thường từ đây bằng cách sử dụng shell gốc thay thế bằng hệ thống init bình thường 3 :
exec systemd
Tôi đã thử nghiệm quy trình này trên Ubuntu MATE 18.04.
1 Cảm ơn Kulfy vì đã có được một ảnh chụp màn hình chất lượng tốt của trình soạn thảo GRUB từ VirtualBox!
2 Mặc dù PATH không thể được đặt từ các tệp cấu hình /etc
trong kịch bản này, Bash sẽ tự động đặt một .
3 Nếu exec systemd
không hiệu quả với bạn, exec /sbin/init
nên thực hiện các mẹo. Nếu không, readlink -e /sbin/init
nên đưa đường dẫn đến bất kỳ chương trình init nào sẽ chạy, mà sau đó bạn có thể exec
với đường dẫn đầy đủ của nó. Nếu bạn không thể tiến hành theo cách này, chỉ cần nhập reboot
.
/mnt
, thực hiện đổi tên, khởi động lại.