GRUB'u bölüm tablosu olmadan bütün bir ext4 diskine nasıl kurabilirim?


15

Şu anda tüm disk /dev/sdaext4 olarak biçimlendirilmiş ve Gentoo yüklü.

(MBR yok, bölüm yok.)

Ama sonunda GRUB'u yükleyemiyorum, çünkü GRUB'un MBR'ye yazması gerekiyor gibi görünüyor.

# grub-install /dev/sda
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
The file /boot/grub/stage1 not read correctly. 

ne grubişe yarıyor,

# grub
grub> root (hd0)
 Filesystem type unknown, using whole disk

grub> setup (hd0)
 Error 17: Cannot mount selected partition

MBR olmadan GRUB'u / dev / sda'ya yükleyebilir miyim?

PS /bootDizin ve grub.confdosyalar:

# tree /boot 
/boot
|-- boot -> .
|-- grub
|   |-- default
|   |-- device.map
|   |-- e2fs_stage1_5
|   |-- fat_stage1_5
|   |-- ffs_stage1_5
|   |-- grub.conf
|   |-- iso9660_stage1_5
|   |-- jfs_stage1_5
|   |-- menu.lst -> grub.conf
|   |-- minix_stage1_5
|   |-- reiserfs_stage1_5
|   |-- splash.xpm.gz
|   |-- stage1
|   |-- stage2
|   |-- stage2_eltorito
|   |-- ufs2_stage1_5
|   |-- vstafs_stage1_5
|   `-- xfs_stage1_5
`-- kernel-2.6.36-gentoo-r5

# cat /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0)/boot/grub/splash.xpm.gz

title Gentoo Linux 2.6.36-r5
root (hd0)
kernel /boot/kernel-2.6.36-gentoo-r5 root=/dev/sda

title Gentoo Linux 2.6.36-r5 Rescue
kernel /boot/kernel-2.6.36-gentoo-r5 root=/dev/sda init=/bin/bb

# cat /boot/grub/devices
(fd0)   /dev/fd0
(hd0)   /dev/sda

Kullandığınız komutu ve yüklemeye çalışırken aldığınız hata mesajını ekleyebilmeniz yararlı olacaktır. Örneğin, denediniz grub-install /dev/sdami?
phunehehe

Zaten MBR ile disk düzenini yeniden oluşturdum ve ham dosya sistemini diskin tek bir bölümüne kopyaladım. Yine de, yeni bir Gento kurulumunu tekrar deneyeceğim ve bir süre sonra hata mesajını yapıştıracağım. Thanks
Xiè Jìléi

EDIT Hata mesajını ekledim.
Xiè Jìléi

Yanıtlar:


5

BIOS, diskin ilk kesimini (512 bayt) okur ve diske dallar. Diskinizde PC tarzı bölümler varsa, ilk sektör de bölüm tablosunu içerir. Diskinizde tek bir dosya sistemi varsa, ilk sektör dosya sisteminin buraya koymaya karar verdiği her şeyi içerir. Ext [234] (ve diğer birçok dosya sistemi) durumunda, ilk sektör¹ önyükleyici için ayrılmıştır (ve başlangıçta sıfırlanır). Grub'u yükleyebilirsiniz /dev/sda.

Bununla birlikte, bölüm tablosu içermeyen bir cihazdan önyüklemeyi reddeden zaman zaman BIOS'lar var. (Ancak, bir bölüm tablosu içeriyorsa bazı harici aygıtlardan önyüklemeyi reddeden BIOS'lar da vardır!) Bu BIOS'lardan birine sahipseniz, bir bölüm tablosu oluşturmanız gerekir.

Bir bölüm tablosu gerekli olmasa bile önerilir. Yalnızca birkaç kilobayt harcarsınız ve Linux olmayan birçok işletim sisteminde okunabilirlik sağlar ve herhangi bir ortak sistem için daha az sürpriz olur. Diskinizi yanlışlıkla Windows çalıştıran bir makineye takarsanız, disk bölümleme tablosu görmüyorsa diski yeniden biçimlendirmenizi önerebilir, oysa disk bölümleme tablosu görürse verileri okuyamayacağından şikayet eder. tanımadığı bir bölüm türü.

¹ Aslında, ilk blok, sanırım, bir bloğun geçirilen seçeneklere bağlı olarak 1kB, 2kB veya 4kB olduğu mkfs.


5
VirtualBox konuk Gentoo OS tarafından kullanılır. Ben ham tarafından arka uç olan bir .vmdk sanal disk oluşturduk image.ext4. Tüm diski bir dosya sistemi için kullanmamın sebebi, birimi zor ana bölüm gibi dengelemeden doğrudan ana bilgisayar işletim sistemine bağlamak istememdir -o loop,offset=1048576.
Xiè Jìléi

1
İlgili bir durumda, bir sisteme bağlı FC disklerimiz vardır. Bunlar, bölümsüz olması amaçlanan bir veritabanı veya LVM tarafından kullanılmak üzere JBOD olarak ifade edilir. Grub'u yeniden yüklerken --recheck, harita tablosunu bölümsüz sürücülerle güncelleyecek, ardından mevcut olmayan bölüm tablosunu tıkladığında şikayet edecek. Bu sürücü yollarını harita dosyasından kaldırırsam uyarı kaybolur.
Otheus


0

Hemen hemen her şey bir bölüm tablosu bekliyor. En azından bir / boot, swap ve / root bölümünün olması için önerilen yönergeleri izlemeniz ve izlemeniz gerekeceğini düşünüyorum. Takasın nerede?


4
Linux umursamıyor. Çoğu BIOS umursamaz (bazıları da umursamaz). Ayrı takas ve önyükleme bölümleri gerekli değildir ve /bootmodern donanımda artık önerilmemektedir (disk boyutlarındaki BIOS sınırlamalarını ve Grub 1'deki LVM gibi gelişmiş disk modları için destek eksikliğini atlamak bir çamurdu).
Gilles 'SO- kötü olmayı bırak

@Gilles Yani, ayrılmış olmadan LVM alabilir miyim /boot? Öyleyse, neden /bootaynı bölümde bırakmak daha iyi /?
phunehehe

2
@phunehehe: Ayrı olmadan LVM olabilir /bootama Grub 1. Bir ayrılmayan ile Lilo veya Grub 2 ile /bootidari maliyetini (bir daha bölüm yapmak gerekir ve karıştırmak için dikkatli olmak gerekir vardır /bootile /), bu nedenle yalnızca bir nedeni varsa (önyükleyicinizin LVM'yi anlamadığı gibi) kullanabilirsiniz.
Gilles 'SO- kötü olmayı bırak'

1
@Gilles şimdi beni yeniden yüklemek gibi hissediyorum ...
phunehehe

1
Ayrıca tüm disk şifreleme gibi şeylere de sahip olabilirsiniz :)
XTL
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.