Saya sudah mencoba menginstal Arch Linux. Setelah instalasi, ini menunjukkan layar BIOS dan setelah itu baru saja muncul pesan yang mengatakan "Tidak ada perangkat yang dapat di-boot ditemukan".
Saya telah mencoba ulang seluruh skenario sekarang beberapa kali, masih saja menampilkan pesan yang sama ...
Saat menginstal, saya telah mengikuti Panduan Pemula Tidak Resmi dari wiki ArchLinux.
Inilah yang saya lakukan:
Pertama-tama, saya menghapus hard drive (yang sebelumnya dihapus adalah Windows Vista diinstal) dan meletakkan GPT di atasnya dengan menggunakan gdisk. Lalu saya mengatur beberapa partisi, yang sekarang terlihat sebagai berikut (output dari parted):
Model: ATA ST9160310AS (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB BIOS boot partition bios_grub
2 2097kB 107MB 105MB ext2 Linux filesystem
3 107MB 21.6GB 21.5GB ext4 Linux filesystem
4 21.6GB 30.2GB 8590MB linux-swap(v1) Linux swap
5 30.2GB 160GB 130GB ext4 Linux filesystem
Kemudian saya memasang partisi root (sda2) ke / mnt, setelah itu juga partisi boot dan home (sda3 dan sda5) ke / mnt / boot dan / mnt / home dan pada akhirnya memformat dan mengaktifkan partisi swap (sda4) .
Sekarang saya mulai menginstal sistem basis. Setelah memilih mirror, saya memasang base dan base-devel.
Pada akhir instalasi saya membuat fstab.
Kemudian saya akhirnya chroot ke / mnt, mengatur beberapa Lokal, mengatur kata sandi root dan kemudian menginstal dan mengkonfigurasi Grub2, persis seperti yang dijelaskan di sini .
Pada akhirnya saya keluar dari lingkungan chroot, melepas partisi dan mem-boot ulang. Anda tahu sisanya ... Itu hanya menunjukkan pesan bahwa ia tidak dapat menemukan perangkat yang dapat di-boot.
Omong-omong, saya mencoba menginstalnya di komputer ini .
dd if=/dev/sda bs=1 skip=510 count=2 2>&- | hexdump
(atau xxd bukan hexdump) sama dengan 55aa? Jika tidak MBR buruk.0000000 aa55 0000002
Jika MBR buruk, bagaimana Anda mengatakan, apakah ada sesuatu yang bisa saya lakukan untuk membuatnya baik lagi?aa55
adalah tanda tangan MBR yang benar (55aa
pada sistem endian kecil).Jawaban:
Saya mempunyai masalah yang sama dan dengan mencari saya menemukan bahwa uuid root / partisi salah di grub.cfg Anda dapat mencoba ini:
mount /dev/sdxx /mnt
(sdxx adalah partisi root Anda)arch-chroot /mnt
grub-mkconfig -o /boot/grub/grub.cfg
grub-install
selesai.
sumber
grub-install
: katanya tidak akan ada partisi boot Bios/dev/sda
, sementara sebenarnya ada satu.BAIK. Menjadi agak lama untuk berkomentar. Ini tidak terkait langsung, tetapi hanya untuk menjelaskan
aa55
komentar.Ketika Sistem Input / Output Dasar (BIOS) memulai, ia melakukan Power-On Self Test (POST), memeriksa perangkat keras, dll. Kemudian mencari perangkat yang dapat di-boot dan aktif berdasarkan pesanan yang diberikan oleh CMOS (Konfigurasi Anda di BIOS - yang pada gilirannya diberikan oleh Semikonduktor Oksida Logam Pelengkap ). Ketika ia menemukan disk yang memiliki
0xaa55
offset 510, ia memuat bagian disk tersebut, (sektor 1), ke dalam memori dan meninggalkan kontrol padanya pada alamat 0x00000 dari kode itu. 512 byte itu adalah Master Boot Record (MBR).Kode itu, dalam hal ini " GRUB - boot" , periksa berbagai byte dari 512 ini selain meminta BIOS untuk berbagai informasi. Dalam proses ini ia menemukan disk mana yang memiliki sisa GRUB dan memuat bagian disk tersebut ke dalam memori - maka bagian kode tersebut akan dikontrol. Yang satu me-mount kernel dll dan meninggalkan kontrol untuk itu.
Menggunakan GPT, gambar yang dimuat GRUB dari dalam MBR terletak di
bios_grub
partisi, - yang Anda miliki, dan cukup besar, dll., Jadi tidak dapat melihat bagaimana itu bisa salah.Pada "Tidak ada perangkat yang dapat di-boot ditemukan." pesan dari BIOS - seseorang dapat memiliki kasus bahwa MBR boot disk rusak, jika MBR berakhir
0xaa55
dan MBR rusak, biasanya ada kesalahan lain - atau sistem hang.Bagaimanapun. Ini aneh. Saya perhatikan Anda tidak memiliki partisi yang ditandai sebagai "boot" . Menggunakan GPT yang benar, - tetapi, meskipun dilarang, Anda dapat mencoba menandai satu misalnya
sda5
sebagai boot.Di gparted:(mengetahui bahwa (g) berpisah juga mengubah GPT yang tidak diinginkan) fdisk:Bisa jadi BIOS Anda melakukan lebih dari yang seharusnya dan memeriksa tabel partisi dalam MBR.
EDIT - Perbarui untuk berkomentar:
AFAIK tidak masalah yang Anda tetapkan karena tidak benar-benar digunakan. Intinya, bagi yang pernah mengatakan tidak ada "perangkat bootable ditemukan" , mereka harus puas. Ini
sda1
bukan partisi boot dalam arti tradisional, tetapi ruang untuk file boot GRUB.Dalam tata letak partisi tradisional (bukan GPT) Anda biasanya memiliki sesuatu seperti:
Itu berarti 3 partisi. Semuanya sebelum mengimbangi 0x400 pada HDD saya byte mentah - karena bukan bagian dari partisi dll
Di sini partisi boot adalah Partisi 2 yang merupakan partisi sistem dengan linux.
File modul 1 GRUB berada tepat setelah MBR dan sebelum partisi pertama. Itu bisa berada di mana saja, tetapi biasanya pada disk yang sama dan diimbangi 512 MB disk.
Juga pada sistem GPT - GPT menggunakan bagian disk itu sendiri, sehingga seseorang harus memindahkan file GRUB tersebut ke lokasi lain. Untuk itulah
bios_grub
- untuk menyimpancore.img
untuk GRUB 2.The "set flag boot" hanyalah tembakan dalam gelap, - dan akan terkejut jika bekerja. Tetapi seseorang telah mulai di suatu tempat.
EDIT2:
Bagaimana jika Anda melakukan ini:
Cadangkan MBR saat ini:
Buat gambar dari
Code TEST
bawah, disimpan ke filetest.s
dengan:Salin
test.img
file ke MBR:Boot
UJI kode:
Untuk mengembalikan MBR lakukan:
Ini seharusnya cukup mencetak "Halo!" ke layar jika MBR dimuat, lalu berhenti. Mengujinya dengan menjalankan di bawah qemu-system-x86_64, qemu-system-i386, VirtualBox, stasioner Intel PC 32 dan 64 bit.
sumber
sda5
sebagai partisi boot. Bukankahsda1
opsi yang lebih baik untuk ditetapkan sebagai partisi boot, karena hanya ada di sini?Saya mungkin salah dan belum melakukan hal yang benar, tetapi saya memiliki masalah yang sama dengan Anda pada awalnya. Setelah beberapa saat, saya telah menemukan di sini bahwa
GRUB has to have a 512MB EFI partition, with a vfat filesystem
. Jika Anda menginstal sistem Anda sebagai EFI:Ini berarti Anda harus mengantisipasi fakta ini saat membuat partisi Anda. Saat melakukannya (dengan cfdisk misalnya), Anda harus mengatur / dev / sdX1 Anda sebagai EFI, kemudian memformatnya ke sistem file FAT32 (dengan perintah
mkfs.vfat -F32 /dev/sdX1
selama proses instalasi). Hanya dengan begitu grub akan dikenali.Saya berasumsi Syslinux dapat bekerja dengan partisi ext2 Anda, jika Anda ingin mencobanya.
Jika Anda tidak menginstal Arch sebagai EFI, Anda mungkin dapat memeriksa wiki apa pun. Saya tidak dapat membantu lebih jauh dalam kasus ini.
Saya tahu posting ini sudah tua, tetapi ini kalau-kalau ada orang datang ke sini dan berharap untuk menemukan solusi.
sumber
512MB (at least)
, itu sebaliknya ...