Arch cài đặt nhưng GRUB không tải


7

Tôi đã cài đặt Arch Linux từ ổ flash USB. Mọi thứ diễn ra tốt đẹp, không có lỗi gì cả. Tuy nhiên, khi tôi khởi động lại, tôi chỉ có một màn hình trống với con trỏ nhấp nháy. Không có GRUB. Tôi không thể nhập bất cứ điều gì. Tôi chắc chắn rằng tôi đã làm theo đúng hướng dẫn cài đặt. Bất cứ ai có thể đề nghị những gì có thể là vấn đề?

Chỉnh sửa: menu của grub.lst:

# Arch Linux
title Arch Linux
root (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/db9d5d80-d822-481e-885f-c93bf2927512 ro
initrd /kernel26.img

# Arch Linux fallback
title Arch Linux Fallback
root (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/db9d5d80-d822-481e-885f-c93bf2927512 ro
initrd /kernel26-fallback.img

Một bản phác thảo về các ổ đĩa và phân vùng, cho đến khi tôi có cơ hội khởi động lại USB và nhận được nhiều chi tiết nhất định:

sda: sẽ là Windows 7 trên nửa ổ đĩa, phân vùng dữ liệu trên giây. Tổng kích thước 1 TB.

sdb: cũng 1 TB. Nếu tôi nhớ lại chính xác từ cài đặt Arch, nó có: 100MiB / boot, trao đổi 256MiB, 20GiB /, phần còn lại là / home. Tôi nghĩ họ cũng theo thứ tự đó. Tôi tin rằng / boot là ext2 và / và / home là ext3.

Chỉnh sửa để thêm: đầu ra của fdisk -l:

Disk /dev/sdb: 100.2 GB, 100204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units=cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes/512 bytes
I/O size (minimum/optimal): 512 bytes/512 bytes
Disk identifier: 0x00022eec

   Device Boot Start    End    Blocks  ID System
/dev/sdb1  *       1     13    104391  83 Linux
/dev/sdb2         14     46    265072+ 82 Linux swap/Solaris
/dev/sdb3         47   2596  20482875  83 Linux
/dev/sdb4       2597 121601 955907662+ 83 Linux

Đầu ra fdisk giúp, nhưng bạn đã sử dụng lệnh nào để cài đặt GRUB?
gnud

FYI grub đã lỗi thời trên vòm mới nhất, bạn nên nâng cấp lên grub2 càng sớm càng tốt.
hoa cúc

Câu trả lời:


4

Bây giờ đã hơi muộn, nhưng tôi chỉ gặp vấn đề tương tự khi cài đặt Arch (lần đầu tiên). Nó chỉ ra rằng vì bất kỳ lý do gì, cài đặt gói tạo ra hình ảnh kernel và initramfs với các tên khác với tên được sử dụng bởi Grub. Mọi thứ khác, kể cả UUID, đều ổn.

Tên tệp mặc định mà tôi đã kết thúc là /vmlinuz-linux(thay thế /vmlinuz26) và /initramfs-linux.img( /kernel26.img) - khởi động từ đĩa CD trực tiếp và sửa đổi /boot/grub/menu.lstđể thay thế vị trí kernel và initramfs cho phép tôi khởi động.

Về cách điều này xảy ra ở nơi đầu tiên, tôi đoán kịch bản cài đặt Arch chỉ không chuyển tên tệp đầu ra từ cài đặt kernel sang tạo menu Grub. Mặc dù đó là sự bực bội và không phải là một giới thiệu tuyệt vời cho những gì thường được coi là một trong những bản phân phối tốt hơn.


Điều đó đã được gây ra khá gần đây khi Arch nâng cấp lên kernel 3.0. Các hình ảnh cũ từ kernel 2.6 có "26" trong tên của chúng và do đó, cài đặt GRUB cũng vậy. Để tránh phá vỡ GRUB, họ đã tạo liên kết đến các hình ảnh mới. Tôi hy vọng lần tới khi họ đưa ra một hình ảnh CD trực tiếp, nó sẽ được cập nhật để phản ánh kernel mới.
Sói

3

Hãy thử cài đặt GRUB2 . Bản thân GRUB2 có thể không giải quyết được bất cứ điều gì (mặc dù có thể), nhưng chính quá trình cài đặt có thể giải quyết vấn đề của bạn. Như một phần thưởng, bạn nhận được phiên bản GRUB mới nhất và lớn nhất, với bất kỳ lợi ích tuyệt vời nào, phiên bản mới có thể đòi hỏi (và giải pháp cho vấn đề này?)


1

Kiểm tra cài đặt thứ tự khởi động trong BIOS. Có phải nó khởi động từ ổ đĩa bạn đã cài đặt bộ tải khởi động không?


Vâng, đúng vậy. Tôi thậm chí còn nói rõ ràng với BIOS để khởi động ổ đĩa đó, với kết quả tương tự.
Sói

Một số bo mạch chính có 2 tùy chọn khác nhau cho thứ tự khởi động và thứ tự các đĩa bên trong. Hãy chắc chắn rằng bạn cũng kiểm tra điều đó.
drahnr

1

Điều có thể xảy ra là Grub không có được thông tin chính xác về nơi nó nên khởi động. BIOS có khái niệm riêng về đánh số đĩa và khá nguyên thủy: đĩa khởi động là đĩa 1 và một số đĩa khác là đĩa 2. Nếu bạn khởi động Linux bằng cách chọn đĩa Linux trong menu khởi động BIOS, thì Grub sẽ cần đọc các tệp riêng của nó và các nhân Linux, từ hd0.

Khởi động vào cài đặt của bạn, và chỉnh sửa các tập tin /boot/grub/device.mapliên kết /dev/sdbvới hd0/dev/sdavới hd1. Sau đó chạy

update-grub
grub-install /dev/sdb

@Gilles: Than ôi, không có xúc xắc. Tôi đã chọn tùy chọn USB để "Khởi động hệ điều hành hiện có". Như vậy, màn hình bị trống và sau đó đưa tôi trở lại menu Live của USB. Nhấn TAB sau khi chọn tùy chọn đó cho phép tôi chỉnh sửa ổ đĩa nào để khởi động, cho tôi lời nhắc chain.c32 hd0 0. Thay đổi điều này thành hd1 0và nhấn ENTER, tôi nhận được một màn hình màu đen nói Booting...và sau đó con trỏ nhấp nháy không làm gì cả.
Sói

@Wolf: Bây giờ bạn đã nói rằng bạn có hai đĩa và Linux đang bật sdb, tôi nghĩ rằng bản đồ thiết bị là vấn đề. Xem chỉnh sửa của tôi.
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles: Tôi đã khởi động vào USB cài đặt và được gắn / dev / sdb1 (phân vùng khởi động). Nó không có tập tin device.map. Cũng không có update-grublệnh nào có sẵn. Tôi đang tự hỏi liệu tôi có nên thử ngắt kết nối ổ đĩa khác và cài đặt lại Arch hay không, vì vậy ổ đĩa thứ 2 không ở đó để gây nhầm lẫn vấn đề; sau đó kết nối lại ổ đĩa khác, cài đặt Win7 trên đó và sau đó chỉnh sửa cấu hình GRUB cho phù hợp.
Sói

@Wolf: Kinh nghiệm của tôi là với Debian, không phải Arch và một số điều tôi từng sử dụng dường như là dành riêng cho Debian, vì vậy bạn có thể cần điều chỉnh câu trả lời của tôi. Hãy thử làm một /boot/grub/device.mapchứa hai dòng (hd0) /dev/sdb(hd1) /dev/sdasau đó chạy grub-install /dev/sdb. Trong menu.lst, thay đổi (hd0)thành (hd1).
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles: Để chắc chắn, device.maptập tin đó có đi vào phân vùng khởi động của ổ cứng không? Và các menu.lsttập tin là tốt?
Sói

1

Nếu bạn đang cố gắng khởi động từ ổ USB, bạn cần chắc chắn rằng bạn đã bao gồm điều này trong móc mkinitcpio của bạn. Nếu đây là trường hợp, hãy chroot vào cài đặt Arch của bạn và thực hiện thay đổi trước khi xây dựng lại hình ảnh.

Thêm các mô-đun USB vào hình ảnh. Sử dụng tùy chọn này nếu thiết bị gốc của bạn nằm trên thiết bị lưu trữ dung lượng lớn USB hoặc nếu thiết bị lưu trữ dung lượng lớn USB của bạn cần được truy cập bằng cách khác (được chọn, gắn, v.v.) vào lúc khởi động.

Xem mục wiki để biết chi tiết


Không, cố gắng khởi động từ ổ cứng, USB chỉ là phương tiện cài đặt.
Sói

Bạn có thể chỉnh sửa bài viết gốc của mình để cung cấp thêm một chút chi tiết: phân vùng, hệ thống tập tin của bạn, v.v.? Điều đó có thể cung cấp thêm một chút để chẩn đoán.
jasonwryan

@jasonwryan: Tôi đã thêm một số chi tiết. Tôi không chắc chắn 100% về tất cả, nhưng tôi sẽ kiểm tra lần sau tôi có thể khởi động nó không.
Sói

Để khởi động kép - Tôi sẽ tải chuỗi
jasonwryan

@jasonwryan: Tôi chưa khởi động kép. Tôi muốn để MỘT ổ cứng hoạt động trước khi tôi lo lắng về cái khác.
Sói

0

Tôi gặp vấn đề tương tự, nhưng chỉ khi khởi động bằng thiết bị USB được kết nối. Tôi chỉ rút phích cắm và quá trình khởi động kết thúc.

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.