Kernel và QEMU: Không thể gắn kết lỗi fs gốc


7

Tôi đang cố gắng chạy một distro trong ảnh đĩa ảo với kernel tùy chỉnh, để tôi có thể thử nghiệm và gỡ lỗi kernel. Tôi đã làm theo điều này để tạo một hình ảnh đĩa và sau đó cài đặt Debian cho nó. Bây giờ tôi đã thử chạy distro bằng lệnh sau: -

qemu-system-i386 -hda debian.img -kernel ../linux-3.6.11/arch/i386/boot/bzImage -append "root=/dev/sda1"

Đối với sự thất vọng của tôi, nó chỉ đơn giản mang lại cho Kernel hoảng loạn - không đồng bộ hóa: VFS: không thể gắn kết fs gốc trên khối không xác định (8.1) . Làm thế nào tôi có thể khắc phục vấn đề? Tôi có đang đi đúng hướng liên quan đến gỡ lỗi kernel không?

Câu trả lời:


4

Tôi không nghĩ bạn sẽ phải bắt đầu gỡ lỗi kernel ngay lập tức. Thông báo lỗi này có nghĩa là kernel không thể gắn kết phân vùng mà bạn yêu cầu /. Điều này sẽ xảy ra ví dụ nếu bạn cho nó một hình ảnh đĩa trống (linh cảm của tôi là trường hợp của bạn) - hạt nhân trong VM nhìn thấy một ổ đĩa không liên kết, không có gì /dev/sda1cả /dev/sda. Để khắc phục điều này, hãy làm theo các hướng dẫn trong hướng dẫn bạn đã sử dụng - tải xuống hình ảnh ISO có thể khởi động và sử dụng nó để cài đặt hệ thống vào hình ảnh VM. Khi hình ảnh đĩa thô được sử dụng, nó có thể được phân vùng trực tiếp với các tiện ích như gdisk, fdiskhoặc parted.

Một khả năng khác là, có bạn đang cố gắn kết một hệ thống tập tin mà kernel không có trình điều khiển. Điều này thường xảy ra khi một người sử dụng kernel, có hầu hết các trình điều khiển trong các mô-đun có thể tải trên initrd và initrd không được tải (do đó kernel thiếu khả năng hiểu hệ thống tập tin cụ thể).


Tôi đã cài đặt debian vào đĩa cứng debian.img. Và kernel nói rằng nó đã xác định phân vùng sda, sda1, sda2 và sda5. Nếu vấn đề là của trình điều khiển, bất kỳ ý tưởng làm thế nào tôi có thể khắc phục nó?
PaulDaviesC

@PaulDC Hãy thử khởi động một kernel khác. Nếu bạn đã cài đặt đầy đủ Debian, tôi cũng mong nó cũng đã cài đặt kernel. Do đó, có thể đưa VM lên mà không có -kerneltùy chọn nào cả, vì BIOS VM sẽ có thể khởi động hệ thống đã cài đặt ngay lập tức như một BIOS thực sự sẽ làm - bằng cách tải bộ tải khởi động từ MBR (hoặc phân vùng EFI, mặc dù UEFI hỗ trợ trong Qemu / KVM vẫn còn khá mới AFAIK).
peterph

1
Nhân tiện, bạn cũng có thể yêu cầu kernel đăng nhập vào cổng nối tiếp và định cấu hình VM để chuyển hướng cổng nối tiếp ảo sang một tệp (ống, bất cứ điều gì - xem -serialtùy chọn trong trang man QEMU) để bắt thông báo chính xác. Và đăng nó ở đây để kiểm tra thêm, tất nhiên. :)
peterph

Đúng, quên tải initrd.
psusi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.