Vì vậy, tôi thực sự đã tìm ra vấn đề trong khi viết câu hỏi. Như bạn có thể thấy từ những gì tôi viết lúc đầu, đó là một quá trình rất dài (tôi đã làm việc với nó trong khoảng 2 ngày trước khi tôi muốn nhờ giúp đỡ).
Nếu bạn nhìn vào phần cuối của Q, tôi đã nhận được tin nhắn này từ dmesg
trong quá trình khởi động:
[FAILED] Không thể gắn/khởi động
Xem 'trạng thái systemctl boot.mount' để biết chi tiết.
Vì vậy, tất nhiên tôi đã cố gắng trạng thái systemctl boot.mount
để xem những gì nó nói, nhưng nó nói boot.mount
đang hoạt động (màu xanh lục), nó được tải và hoạt động bình thường, mặc dù /khởi động
trống trừ khi tôi tự gắn /dev/sda2
(điều này hoàn toàn ngược lại với những gì tôi mong đợi).
Vì vậy, tôi bắt đầu nghĩ rằng có thể có điều gì đó không ổn với dịch vụ. tôi đã vô hiệu hóa boot.mount
mặc dù nó nói nó đã hoạt động bình thường:
vô hiệu hóa systemctl --now boot.mount
Tôi đã cố kích hoạt lại nhưng gặp lỗi:
kích hoạt systemctl --now boot.mount
Không thể bật đơn vị: Đơn vị /run/systemd/generator/boot.mount tạm thời hoặc được tạo
OK, điều đó hợp lý, nó được kích hoạt thông qua quá trình khởi động và không thể được gọi thông qua lệnh của người dùng. Vì vậy, tôi đã cố gắng gắn lại tất cả các thiết bị với:
gắn kết -a
Và thấy rằng có một lỗi trong /etc/fstab
tập tin:
lỗi: rw,relatime không phải là hệ thống tệp hợp lệ
(hoặc một thứ gì đó hiệu quả).
Chìa khóa ở đây là, nếu tôi không thử cài đặt hệ thống tệp theo cách thủ công, tôi sẽ không bao giờ nhận được phản hồi đó. Thông báo lỗi từ gắn kết -a
người ta nhận được khi fstab
chứa cú pháp không đúng là vô cùng hữu ích. Hữu ích hơn rất nhiều so với:
[FAILED] Không thể gắn/khởi động
Xem 'trạng thái systemctl boot.mount' để biết chi tiết.
... và sau đó nhìn thấy một đơn vị systemd "đang hoạt động" cho boot.mount
khi nào /khởi động
không được gắn kết (mặc dù nó đã làm đưa tôi đến đúng nơi cuối cùng).
Vì vậy, tôi đã chỉnh sửa fstab
và nhập thông tin hệ thống tập tin cho /khởi động
phân vùng không gắn kết được, sau đó tôi chạy lại gắn kết -a
(về cơ bản làm điều tương tự như boot.mount
) và nhận được phản hồi tích cực.
Giờ đây, hai phân vùng đang được gắn đúng cách sau khi khởi động lại và tất cả đều ổn ở vùng đất của cải ngựa và mứt cam.
Nếu điều này không giải quyết được bất kỳ vấn đề nào của bạn, thì đây là một số ghi chú bổ sung về quá trình tôi đã trải qua trước khi đi đến điểm mà tôi đang tìm kiếm sự trợ giúp ở trên (vui lòng ngừng đọc sau khi bạn giải quyết được vấn đề của mình):
Vấn đề ban đầu mà tôi gặp phải hai ngày trước là hệ thống đang cố khởi động từ các nhân không còn trên hệ thống. Vì vậy, sau khi khởi động bằng đĩa CD trực tiếp, tôi đã xóa /khởi động
nội dung của thư mục (trong đó tất cả các ban đầu
tập tin được định vị).
Tôi hình dung tôi sẽ chỉ tạo lại initramfs
sử dụng cập nhật-initramfs -c -k tất cả
từ các hạt nhân hiện tại mà tôi đã cài đặt, nhưng sau đó tôi biết rằng tôi không thể tạo lại cấu hình
hoặc Hệ thống.map
tập tin với depmod
một mình. Điều này hóa ra lại rắc rối hơn một chút so với những gì tôi đã mặc cả.
Tôi thấy cách dễ nhất để tạo lại hoặc lấy tất cả các tệp này là:
- xóa tất cả nội dung của
/khởi động
,
- gỡ cài đặt bất kỳ
hình ảnh linux
, tiêu đề linux
và mô-đun linux
tập tin tôi không có ý định sử dụng,
- xóa tất cả các thư mục còn lại trong
/usr/lib/mô-đun
, và sau đó
- cài đặt lại
hình ảnh linux
, mô-đun linux
và tiêu đề linux
các tệp tôi dự định sử dụng (hai phiên bản chung mới nhất)
Lưu ý: Cài đặt lại 3 loại tệp này Tất cả cùng một lúc là cách tôi quản lý để có được /boot/System.map
và /boot/config
tập tin trở lại - trước khi chỉ cài đặt lại hình ảnh linux
các tập tin đã không làm điều đó. Có thể chúng được bao gồm trong mô-đun
(mô-đun sẽ có ý nghĩa), hoặc tiêu đề
gói, nhưng đây là những gì làm việc cho tôi.
- Sau đó tôi chạy
cập nhật-grub
sau khi cài đặt lại các tệp đó và xác nhận /khởi động
đã được điền chính xác.
- tôi cũng đã chạy
cài đặt bootctl
và /etc/kernel/postinst.d/zz-udpate-systemd-boot
, vì vậy tôi sẽ có systemd-boot
được cài đặt như một dự phòng.
Tại một thời điểm sau khi khởi động lại, tôi phải cấu hình lại hệ thống.mục tiêu
đến nhiều người dùng.mục tiêu
thay vì đồ họa.mục tiêu
, có lẽ là do có chroot
ed với tất cả các mount đó trong một đĩa CD đồ họa trực tiếp để chạy sửa chữa khởi động
chương trình vài ngày trước, yêu cầu đồ họa (và tôi tin /dev/pts
/tmp
và /chạy
được yêu cầu để có được hiển thị: 0,0
làm việc):
systemctl set-default multi-user.target
Ok đó là về nó. Hy vọng điều này sẽ giúp một ai đó.