Thiếu vmlinuz từ / boot


10

Tôi đang chạy một máy tính xách tay với Windows 7 và Ubuntu 12.04. Tôi đã gặp vấn đề về grub sau khi thay đổi kích thước phân vùng mà cuối cùng được phát hiện là sự cố do thiếu tệp kernel . (Những vấn đề này đã không bắt đầu cho đến một tuần sau khi thay đổi kích thước, trong thời gian đó máy tính tiếp tục hoạt động hoàn hảo).

Bằng cách chroot vào cài đặt ổ cứng của tôi từ 12.04 LTS LiveCD, cuối cùng tôi đã có thể khôi phục /boot/initrd-3.2.0.24-generic.img. Bằng cách sao chép vmlinuztừ /casper/thư mục của LiveCD vào /boot/vmlinuz-3.2.0.24-generictôi thấy rằng update-grubcuối cùng sẽ nhận ra và thêm cài đặt Ubuntu của tôi vào menu grub, đây là vấn đề ban đầu của tôi.

Tuy nhiên, vấn đề mới của tôi là khi khởi động vào bản cài đặt này, tôi gặp tất cả các loại mô-đun và thông báo lỗi, thường là quá nhanh để tôi có thể đọc hoặc ghi nhớ; cuối cùng tôi được cung cấp tùy chọn khởi động Ubuntu ở Chế độ đồ họa thấp, Khắc phục sự cố, Dấu nhắc lệnh, Kết nối mạng, v.v ... Chọn Chế độ đồ họa thấp chỉ khiến tôi bỏ qua thiết bị đầu cuối nhắc tôi đăng nhập, nhưng tên người dùng và mật khẩu của tôi không hoạt động.

Có lẽ chỉ cần sao chép vmlinuz từ LiveCD đã gây ra những lỗi này? Vấn đề của tôi là một phần thích hợp vmlinuzkhông được cài đặt bởi cùng quá trình cài đặt kernel đã khôi phục'initrd-....'.img

Tôi thực sự không muốn phải cài đặt lại toàn bộ phân vùng Ubuntu vì tôi có nhiều cài đặt tùy chỉnh cho các môi trường lập trình khác nhau mà tôi sử dụng cho công việc nghiên cứu của mình và tôi hiện đang ở nước ngoài, hạn chế băng thông của tôi, điều này khá cần thiết để khôi phục phần lớn phần mềm.

Tuy nhiên, tôi có một hình ảnh hoàn chỉnh và một bản sao hoàn chỉnh của phân vùng không khởi động (cả thông qua CloneZilla); Tôi chỉ không biết liệu những thứ này có thực sự có được thư mục 'Home' riêng tư của tôi hay không, nó tuyên bố là không thể đọc được khi tôi gắn bản sao.


Bạn có phiền khi chèn một số ngắt dòng? Tôi không tham gia vào bức tường văn bản này của Nhật Bản, một thứ gì đó
Martin Uting

Xin lỗi về định dạng, như tôi đã đề cập gần đây tôi ở nước ngoài và tôi chưa tìm ra nơi tất cả các biểu tượng đã được chuyển đến trên các bàn phím quốc tế này.
msolters

Câu trả lời:


10

Bạn đã thử sử dụng apt-getđể (cài đặt lại) kernel chưa?


Hãy thử khởi động Live CD hoặc USB phù hợp với cài đặt Ubuntu của bạn, sau đó chroot, và sau đó là lệnh bên dưới.

apt-get -V install linux-generic linux-image-generic linux-headers-generic
  • Lưu ý: Nếu cách trên không hoạt động, bạn cũng có thể thử --reinstallhoặc thực hiện một removetrong các gói trên và sau đó thử installlại.

Nếu không có cách nào ở trên hoạt động, vui lòng cập nhật câu hỏi của bạn với các chi tiết về cách nó thất bại.

Gợi ý ở trên dựa trên những gì apt-getđã làm để nâng cấp kernel của bản cài đặt sạch Ubuntu 12.04 LTS 64-bit trong một máy ảo. Các gói mà apt-getquyết định cài đặt để cập nhật các kernel là linux-generic, linux-image-generic, và linux-headers-generic.

Tôi đã bao gồm bên dưới đầu ra mà tôi nhận được từ việc chạy apt-getlệnh ở trên trong trường hợp nó có thể được sử dụng.

Tôi nhận thấy cả hai vmlinuz-3.2.0-25-genericinitrd.img-3.2.0-25-genericđược tạo bằng cách chạy update-initramfstập lệnh trong quá trình xử lý hậu kỳ cài đặt. Vì vậy, tôi nghi ngờ rằng chỉ cần sao chép các tệp từ cài đặt này sang cài đặt khác sẽ hoạt động trừ khi các cài đặt giống hệt nhau (đủ).

irrational@VB64Too:~$ sudo apt-get -V install linux-generic linux-image-generic linux-headers-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
   linux-headers-3.2.0-25 (3.2.0-25.40)
   linux-headers-3.2.0-25-generic (3.2.0-25.40)
   linux-image-3.2.0-25-generic (3.2.0-25.40)
Suggested packages:
   fdutils (5.5-20060227-5)
   linux-doc-3.2.0 ()
   linux-source-3.2.0 (3.2.0-25.40)
   linux-tools (3.2.0.25.27)
The following NEW packages will be installed:
   linux-headers-3.2.0-25 (3.2.0-25.40)
   linux-headers-3.2.0-25-generic (3.2.0-25.40)
   linux-image-3.2.0-25-generic (3.2.0-25.40)
The following packages will be upgraded:
   linux-generic (3.2.0.23.25 => 3.2.0.25.27)
   linux-headers-generic (3.2.0.23.25 => 3.2.0.25.27)
   linux-image-generic (3.2.0.23.25 => 3.2.0.25.27)
3 upgraded, 3 newly installed, 0 to remove and 247 not upgraded.
Need to get 50.6 MB of archives.
After this operation, 216 MB of additional disk space will be used.
Do you want to continue [Y/n]? 
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-image-3.2.0-25-generic amd64 3.2.0-25.40 [38.2 MB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-generic amd64 3.2.0.25.27 [1,710 B]                          
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-image-generic amd64 3.2.0.25.27 [2,648 B]                    
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-headers-3.2.0-25 all 3.2.0-25.40 [11.4 MB]                   
Get:5 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-headers-3.2.0-25-generic amd64 3.2.0-25.40 [958 kB]          
Get:6 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main linux-headers-generic amd64 3.2.0.25.27 [2,644 B]                  
Fetched 50.6 MB in 36s (1,398 kB/s)                                                                                                
Selecting previously unselected package linux-image-3.2.0-25-generic.
(Reading database ... 141202 files and directories currently installed.)
Unpacking linux-image-3.2.0-25-generic (from .../linux-image-3.2.0-25-generic_3.2.0-25.40_amd64.deb) ...
Done.
Preparing to replace linux-generic 3.2.0.23.25 (using .../linux-generic_3.2.0.25.27_amd64.deb) ...
Unpacking replacement linux-generic ...
Preparing to replace linux-image-generic 3.2.0.23.25 (using .../linux-image-generic_3.2.0.25.27_amd64.deb) ...
Unpacking replacement linux-image-generic ...
Selecting previously unselected package linux-headers-3.2.0-25.
Unpacking linux-headers-3.2.0-25 (from .../linux-headers-3.2.0-25_3.2.0-25.40_all.deb) ...
Selecting previously unselected package linux-headers-3.2.0-25-generic.
Unpacking linux-headers-3.2.0-25-generic (from .../linux-headers-3.2.0-25-generic_3.2.0-25.40_amd64.deb) ...
Preparing to replace linux-headers-generic 3.2.0.23.25 (using .../linux-headers-generic_3.2.0.25.27_amd64.deb) ...
Unpacking replacement linux-headers-generic ...
Setting up linux-image-3.2.0-25-generic (3.2.0-25.40) ...
Running depmod.
update-initramfs: deferring update (hook will be called later)
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.2.0-25-generic /boot/vmlinuz-3.2.0-25-generic
update-initramfs: Generating /boot/initrd.img-3.2.0-25-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.2.0-25-generic /boot/vmlinuz-3.2.0-25-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 3.2.0-25-generic /boot/vmlinuz-3.2.0-25-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.2.0-25-generic /boot/vmlinuz-3.2.0-25-generic
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-25-generic
Found initrd image: /boot/initrd.img-3.2.0-25-generic
Found linux image: /boot/vmlinuz-3.2.0-23-generic
Found initrd image: /boot/initrd.img-3.2.0-23-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done
Setting up linux-image-generic (3.2.0.25.27) ...
Setting up linux-generic (3.2.0.25.27) ...
Setting up linux-headers-3.2.0-25 (3.2.0-25.40) ...
Setting up linux-headers-3.2.0-25-generic (3.2.0-25.40) ...
Setting up linux-headers-generic (3.2.0.25.27) ...
irrational@VB64Too:~$

0

Bằng cách chroot vào cài đặt ổ cứng của tôi từ 12.04 LTS LiveCD, cuối cùng tôi đã có thể khôi phục /boot/initrd-3.2.0.24-generic.img. Bằng cách sao chép vmlinuztừ /casper/thư mục của LiveCD vào /boot/vmlinuz-3.2.0.24-generictôi thấy rằng update-grubcuối cùng sẽ nhận ra và thêm cài đặt Ubuntu của tôi vào menu grub, đây là vấn đề ban đầu của tôi.

Tuy nhiên, vấn đề mới của tôi là khi khởi động vào bản cài đặt này, tôi gặp tất cả các loại mô-đun bị lỗi và thông báo lỗi.

Ban đầu tôi đã đề nghị với điều tương tự nhưng phải tìm một câu trả lời tốt hơn là sao chép các tệp từ phương tiện trực tiếp hoặc chỉ cài đặt linux-image-generic trong chroot.

Đề nghị của tôi là xem xét /lib/modules/cài đặt của bạn và chọn số phiên bản kernel mới nhất bạn có thể tìm thấy, sau đó cài đặt hình ảnh kernel tương ứng trong chroot. Để tạo initrdnếu nó không được tạo tự động, bạn phải chạy mkinitramfsmà sẽ được gọi bằng cách khác update-initramfs, nhưng có thể từ chối làm việc từ phương tiện truyền thông trực tiếp.

Tôi đã đăng hướng dẫn đầy đủ ở đây: Làm thế nào để khôi phục các tệp đã bị xóa trong / boot? (vmlinuz bị thiếu, hệ thống không khởi động)

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.