Sử dụng Grub
Nếu bạn nhận được một grub
dấ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 ls
lệnh để chọc xung quanh phân vùng và xem hạt nhân nào có sẵn. Các search
lệ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ì find
cho 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/sda1
bằ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.cfg
dự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, search
lệ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.disk
thay 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.disk
trê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.