Làm cách nào tôi có thể tải Ubuntu khi tất cả những gì tôi có là Grub?


11

Vì vậy, tôi đã nâng cấp Ubuntu với Kernel mới nhất. Nhưng sau khi nâng cấp và sau khi tôi khởi động lại Ubuntu, tất cả những gì tôi nhận được là GRUB. Làm cách nào để tải lại Ubuntu khi tất cả những gì tôi có là GRUB?

Tôi đã cài đặt Ubuntu bằng wubi.

Cảm ơn rất nhiều vì sự giúp đỡ


Đây là cài đặt wubi hoặc cài đặt bình thường?
karthick87

Điều này đã lỗi thời tôi tin. Ai đó có thể cho tôi biết làm thế nào để làm điều này trên grub2?

Câu trả lời:


16

Sử dụng Grub

Nếu bạn nhận được một grubdấu nhắc và hệ thống và kernel vẫn được cài đặt trên phân vùng, bạn có thể "tự động" khởi động hệ thống - tức là không cần sự trợ giúp của grub.cfg đang hoạt động. Điều này cũng hoạt động với một grub chạy từ phương tiện truyền thông trực tiếp. Cuối cùng, grub bao gồm một lệnh thô sơ, bạn có thể sử dụng để tìm phân vùng và khởi động hệ thống.

find /vmlinuz

Điều này sẽ cung cấp cho bạn phân vùng như (hd0,0). Bạn cũng có thể sử dụng lslệnh để chọc xung quanh phân vùng và xem hạt nhân nào có sẵn. Các searchlệnh làm việc tương tự. Bạn cũng có thể sử dụng hoàn thành tab .

set root=(hd0,1)

Tất nhiên, thay thế định danh parition bằng bất cứ điều gì findcho bạn thấy.

linux /vmlinuz root=/dev/sda1
initrd /initrd.img

Chọn hình ảnh kernel và hình ảnh initrd, một cặp luôn cần được sử dụng cùng nhau. May mắn thay, Ubuntu tạo ra một cặp liên kết tượng trưng trong thư mục gốc, trỏ đến một hình ảnh và initrd hoạt động. Lưu ý rằng bạn cần thay thế /dev/sda1bằng một đại diện của phân vùng trong sơ đồ được sử dụng bởi nhân Linux. Một cách thô bạo, (hd0,1)tương ứng với /dev/sda1; (hd0,2) corresponds to/ dev / sda2 ;(hd1,1) tương ứng với /dev/sdb1.

boot

Điều này khởi động kernel đã chọn từ phân vùng đã chọn. Khi bạn đã quản lý để khởi động hệ thống của mình, bạn có thể sử dụng nó để khôi phục grub, như chi tiết, ví dụ ở đây .

Grub với Wubi

Trên đây là tiền đề cho giả định rằng Ubuntu đã được cài đặt thường xuyên, tức là trong phân vùng riêng của nó. Khi bạn viết, bạn đã sử dụng Wubi, có nghĩa là bạn đã cài đặt nó vào một tệp lớn trên phân vùng Windows (NTFS) bằng cách sử dụng một kỹ thuật gọi là "Lupin". Tôi thấy không có lý do tại sao điều này không thể hoạt động trên nguyên tắc, mặc dù quá trình này phức tạp hơn. Đây là nội dung grub.cfgdựa trên bản cài đặt Wubi:

insmod part_msdos
insmod ntfs
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set be300f9c300f5ab3
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz root=/dev/sda1 loop=/ubuntu/disks/root.disk
initrd /boot/initrd.img

Bạn sẽ cần phải thích ứng với trường hợp cụ thể của bạn. Trong đoạn mã này, được lấy từ bản cài đặt 10.10, searchlệnh tìm phân vùng gốc bằng cách sử dụng UUID hoặc định danh hệ thống tệp mà bạn có thể không biết; --file --set /ubuntu/disks/root.diskthay vào đó bạn có thể sử dụng ( đây là tài liệu chính thức). Cấu hình grub này tạo ra một đĩa ảo - "thiết bị loopback" - được gọi là loop0đại diện cho nội dung của "tệp phân vùng", /ubuntu/disks/root.disktrên phân vùng NTFS của bạn. Với một chút thử nghiệm và lỗi, bạn sẽ có thể làm cho công việc này.


4
Tôi nhận đượcerror: unknown command find'.
Abdull

@Abdull - điều này là do bạn đang sử dụng grub2 thay vì grub kế thừa. Nhấn Tab hai lần và xem các lệnh có sẵn, hoặc trợ giúp = 1 \ trợ giúp
Yaroslav Nikitenko

Nếu bạn đang sử dụng EFI, thay thế linuxinitrdvới resp. linuxefiinitrdefi.
Yaroslav Nikitenko
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.