UEFI / GPT sistemine Ubuntu 14.04 / 16.04 64-bit bir çift önyükleme RAID 1 bölümü ile nasıl kurulur?


22

Güncelleme: Aşağıdaki soru ve cevap Ubuntu 16.04 için de geçerlidir

Başka bir diske önceden kurulmuş çift SSD'li ve Win (7) bir bilgisayarım var. Ön kurulumda (U) EFI / GPT önyüklemesi kullanılır. Ubuntu 14.04 64-bit masaüstünü SSD'lerimdeki RAID1 kök bölümüne kurmak ve hala Win7 sistemimi çift önyükleyebilmek istiyorum. Mümkün mü?

Masaüstü yükleyicisini kullanan bu kılavuz , muhtemelen (dolaylı olarak) MBR önyüklemesini varsaydığı için çalışmadı. Muhtemelen aynı sebepten dolayı sunucu dağıtımını da kurmadı .

Yanıtlar:


36

GÜNCELLEME: Aşağıdaki açıklamanın Ubuntu 16.04 için de çalıştığını doğruladım. Diğer kullanıcılar 17.10 ve 18.04.1'de çalıştığını bildirmiştir.

NOT: Bu NASIL size LVM vermeyecektir. LVM'yi de istiyorsanız, UEFI BIOS'lu makinede Ubuntu 18.04 masaüstünü RAID 1 ve LVM ile kurmayı deneyin .

Deneme günlerinden sonra, artık çalışan bir sistemim var! Kısacası, çözüm aşağıdaki adımlardan oluşuyordu:

  1. Ubuntu Live CD / USB kullanarak önyükleyin.
  2. SSD'leri gerektiği gibi bölümler.
  3. Eksik paketleri kurun (mdadm ve grub-efi).
  4. RAID bölümlerini oluşturun.
  5. Ubiquity yükleyicisini çalıştırın (ancak yeni sisteme önyükleme yapmayın).
  6. RAIDed kökünden önyüklemeyi etkinleştirmek için yüklü sistemi (initramfs) düzeltin.
  7. İlk SSD'nin EFI bölümünü GRUB ile doldurun ve EFI önyükleme zincirine takın.
  8. EFI bölümünü diğer SSD'ye klonlayın ve önyükleme zincirine takın.
  9. Bitti! Sisteminiz şimdi RAID 1 yedekliliğine sahip olacak. UEFI bölümlerine dokunulmadığından, bir çekirdek güncellemesinden sonra özel bir şey yapılması gerekmediğine dikkat edin.

Çözümün 6. adımının temel bir bileşeni, önyükleme sekansındaki herhangi bir SSD'nin eksik olması durumunda beni GRUB komut istemine (klavyesiz!) Tamamen bırakan bir gecikmeydi.

Detaylı NASIL

1. Önyükleme

USB çubuğundan EFI kullanarak önyükleme yapın. Tam olarak sisteminize göre nasıl değişecek. Yüklemeden ubuntu dene'yi seçin .

Bir terminal emülatörü başlatın, örneğin xtermaşağıdaki komutları çalıştırın.

1.1 Başka bir bilgisayardan giriş yapın

Bunu denerken, zaten tamamen yapılandırılmış bir bilgisayardan giriş yapmayı daha kolay buldum. Bu basitleştirilmiş komut kesme ve yapıştırma vb. Aynı işlemi yapmak istiyorsanız, aşağıdakileri yaparak ssh ile giriş yapabilirsiniz:

Yapılandırılacak bilgisayarda openssh sunucusunu kurun:

sudo apt-get install openssh-server

Şifre değiştir. Kullanıcı için varsayılan şifre ubuntuboştur. Muhtemelen orta kuvvette bir şifre seçebilirsiniz. Yeni bilgisayarınızı yeniden başlattığınız anda unutulacak.

passwd

Şimdi ubuntu canlı oturumuna başka bir bilgisayardan giriş yapabilirsiniz. Aşağıdaki talimatlar linux içindir:

ssh -l ubuntu <your-new-computer>

Şüphelenilen ortadaki adam saldırısı hakkında bir uyarı alırsanız, yeni bilgisayarı tanımlamak için kullanılan ssh tuşlarını silmeniz gerekir. Bunun nedeni openssh-server, ne zaman kurulduğunda yeni sunucu anahtarları oluşturmasıdır. Kullanılacak komut genellikle yazdırılır ve şöyle görünmelidir

ssh-keygen -f <path-to-.ssh/known_hosts> -R <your-new-computer>

Bu komutu uyguladıktan sonra, ubuntu canlı oturumuna giriş yapabilmelisiniz.

2. Bölme diskleri

Eski bölümleri ve önyükleme bloklarını temizleyin. Uyarı! Bu, disklerinizdeki verileri yok edecektir!

sudo sgdisk -z /dev/sda
sudo sgdisk -z /dev/sdb

Sürücülerinizin en küçüğünde yeni bölümler oluşturun: ESP için 100M, RAID SWAP için 32G, RAID kökü için dinlen. Sda sürücünüz en küçük ise, Bölüm 2.1'i, aksi halde Bölüm 2.2'yi takip edin.

2.1 Bölüm tabloları oluşturma (/ dev / sda daha küçük)

Aşağıdaki adımları izleyin:

sudo sgdisk -n 1:0:+100M -t 1:ef00 -c 1:"EFI System" /dev/sda
sudo sgdisk -n 2:0:+32G -t 2:fd00 -c 2:"Linux RAID" /dev/sda
sudo sgdisk -n 3:0:0 -t 3:fd00 -c 3:"Linux RAID" /dev/sda

Bölüm tablosunu diğer diske kopyalayın ve benzersiz UUID'leri yeniden oluşturun (aslında sda için UUID'leri yeniden oluşturur).

sudo sgdisk /dev/sda -R /dev/sdb -G

2.2 Bölüm tabloları oluşturun (/ dev / sdb daha küçük)

Aşağıdaki adımları izleyin:

sudo sgdisk -n 1:0:+100M -t 1:ef00 -c 1:"EFI System" /dev/sdb
sudo sgdisk -n 2:0:+32G -t 2:fd00 -c 2:"Linux RAID" /dev/sdb
sudo sgdisk -n 3:0:0 -t 3:fd00 -c 3:"Linux RAID" /dev/sdb

Bölüm tablosunu başka bir diske kopyalayın ve benzersiz UUID'leri yeniden oluşturun (aslında sdb için UUID'leri yeniden oluşturur).

sudo sgdisk /dev/sdb -R /dev/sda -G

2.3 / dev / sda'da FAT32 dosya sistemi oluşturma

EFI bölümü için FAT32 dosya sistemini oluşturun.

sudo mkfs.fat -F 32 /dev/sda1
mkdir /tmp/sda1
sudo mount /dev/sda1 /tmp/sda1
sudo mkdir /tmp/sda1/EFI
sudo umount /dev/sda1

3. Eksik paketleri yükleyin

Ubuntu Live CD'sinde iki anahtar paketi bulunur; grub-efi ve mdadm. Onları yükleyin. (Buraya grub-efi'ye ihtiyacım olduğundan% 100 emin değilim, ancak gelecek kurulumda simetriyi korumak için de getirin.)

sudo apt-get update
sudo apt-get -y install grub-efi-amd64 # (or grub-efi-amd64-signed)
sudo apt-get -y install mdadm

Güvenli önyükleme etkinleştirilmişse grub-efi-amd64-signedyerine gerekebilir grub-efi-amd64. (Bkz. Alecz tarafından yapılan yorum.)

4. RAID bölümleri oluşturun

RAID aygıtlarını bozulmuş modda oluşturun. Cihazlar daha sonra tamamlanacaktır. Tam bir RAID1 oluşturmak bazen ubiquityaşağıdaki yükleme sırasında sorun çıkardı , neden olduğundan emin değil. (mount / unmount? formatı?)

sudo mdadm --create /dev/md0 --bitmap=internal --level=1 --raid-disks=2 /dev/sda2 missing
sudo mdadm --create /dev/md1 --bitmap=internal --level=1 --raid-disks=2 /dev/sda3 missing

RAID durumunu doğrulayın.

cat /proc/mdstat

Personalities : [raid1] 
md1 : active raid1 sda3[0]
      216269952 blocks super 1.2 [2/1] [U_]
      bitmap: 0/2 pages [0KB], 65536KB chunk

md0 : active raid1 sda2[0]
      33537920 blocks super 1.2 [2/1] [U_]
      bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

Md aygıtları bölümlere ayırın.

sudo sgdisk -z /dev/md0
sudo sgdisk -z /dev/md1
sudo sgdisk -N 1 -t 1:8200 -c 1:"Linux swap" /dev/md0
sudo sgdisk -N 1 -t 1:8300 -c 1:"Linux filesystem" /dev/md1

5. Yükleyiciyi çalıştırın

Her yerde başarısız olacak önyükleme yükleyicisi hariç ubiquity yükleyicisini çalıştırın . ( Not : Eğer ssh ile giriş yaptıysanız, muhtemelen bunun yerine yeni bilgisayarınızda bunu yürütmek isteyeceksiniz.)

sudo ubiquity -b

Kurulum türü olarak başka bir şey seçin ve md1p1türünü ext4format, evet ve montaj noktası olarak değiştirin /. md0p1Bölüm otomatik takas olarak seçilecektir.

Kurulum tamamlandığında bir fincan kahve alın.

Önemli: Kurulum tamamlandıktan sonra, sistem henüz hazır olmadığından test etmeye devam et öğesini seçin .

RAID cihazlarını tamamlayın

Bekleyen sdb bölümlerini RAID'e takın.

sudo mdadm --add /dev/md0 /dev/sdb2
sudo mdadm --add /dev/md1 /dev/sdb3

Tüm RAID aygıtlarının uygun olduğunu doğrulayın (ve isteğe bağlı olarak senkronize edin).

cat /proc/mdstat

Personalities : [raid1] 
md1 : active raid1 sdb3[1] sda3[0]
      216269952 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  0.2% (465536/216269952)  finish=17.9min speed=200000K/sec
      bitmap: 2/2 pages [8KB], 65536KB chunk

md0 : active raid1 sdb2[1] sda2[0]
      33537920 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

Aşağıdaki işlem, yeniden başlatmalar da dahil olmak üzere senkronizasyon sırasında devam edebilir.

6. Kurulu sistemi yapılandırın

Chroot'u kurulum sistemine aktive etmek için ayarlayın.

sudo -s
mount /dev/md1p1 /mnt
mount -o bind /dev /mnt/dev
mount -o bind /dev/pts /mnt/dev/pts
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
cat /etc/resolv.conf >> /mnt/etc/resolv.conf
chroot /mnt

Paketleri yapılandırın ve yükleyin.

apt-get install -y grub-efi-amd64 # (or grub-efi-amd64-signed; same as in step 3)
apt-get install -y mdadm

Cihazları hala senkronize ediyorsanız, aşağıdaki gibi uyarıları görebilirsiniz:

/usr/sbin/grub-probe: warning: Couldn't find physical volume `(null)'. Some modules may be missing from core image..

Bu normaldir ve göz ardı edilebilir ( bu sorunun altındaki cevaba bakınız ).

nano /etc/grub.d/10_linux
# change quick_boot and quiet_boot to 0

Devre Dışı Bırakılması quick_boot, Diskfilter yazmasının desteklenmeyen hataları önleyeceğini önler . Devre dışı bırakmak quiet_bootsadece kişisel tercihlerdendir.

Etiket referanslarını kaldırmak için /etc/mdadm/mdadm.conf dosyasını değiştirin, örn.

ARRAY /dev/md/0 metadata=1.2 name=ubuntu:0 UUID=f0e36215:7232c9e1:2800002e:e80a5599
ARRAY /dev/md/1 metadata=1.2 name=ubuntu:1 UUID=4b42f85c:46b93d8e:f7ed9920:42ea4623

için

ARRAY /dev/md/0 UUID=f0e36215:7232c9e1:2800002e:e80a5599
ARRAY /dev/md/1 UUID=4b42f85c:46b93d8e:f7ed9920:42ea4623

Bu adım gereksiz olabilir, ancak bazı sayfaların adlandırma düzenlerinin dengesiz olabileceğini (isim = ubuntu: 0/1) önerdiğini gördüm ve bu, mükemmel bir RAID aygıtının önyükleme sırasında toplanmasını durdurabilir.

/etc/default/grubOkumak için satırları değiştirme

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

Yine, bu adım gereksiz olabilir, ancak gözlerim açıkken çizmeyi tercih ederim ...

6.1. Uyku betiği ekle

(Bu adım gereksiz olabilir ve kullanılarak değiştirilebilir olduğunu topluluğu tarafından öne sürülmüştür GRUB_CMDLINE_LINUX="rootdelay=30"içinde /etc/default/grub. Nedenleri bu NASIL altındaki açıkladı, ben o rootdelay kullanarak daha çirkin olsa bile uyku komut dosyası ile sopa öneriyoruz. Böylece, Düzenli programımıza devam ediyoruz ... )

RAID aygıtlarının yerleşmesini bekleyecek bir komut dosyası oluşturun. Bu gecikme olmadan , kök montajı RAID düzeneğinin zaman içinde bitmemesi nedeniyle başarısız olabilir . Bunu zor yoldan öğrendim - disk arızasını simüle etmek için SSD'lerden birinin bağlantısını kesinceye kadar sorun ortaya çıkmadı! Zamanlamanın mevcut donanıma bağlı olarak ayarlanması gerekebilir, örneğin yavaş harici USB diskler vb.

Aşağıdaki kodu giriniz /usr/share/initramfs-tools/scripts/local-premount/sleepAwhile:

#!/bin/sh
echo
echo "sleeping for 30 seconds while udevd and mdadm settle down"
sleep 5
echo "sleeping for 25 seconds while udevd and mdadm settle down"
sleep 5
echo "sleeping for 20 seconds while udevd and mdadm settle down"
sleep 5
echo "sleeping for 15 seconds while udevd and mdadm settle down"
sleep 5
echo "sleeping for 10 seconds while udevd and mdadm settle down"
sleep 5
echo "sleeping for 5 seconds while udevd and mdadm settle down"
sleep 5
echo "done sleeping"

Komut dosyasını çalıştırılabilir hale getirin ve yükleyin.

chmod a+x /usr/share/initramfs-tools/scripts/local-premount/sleepAwhile
update-grub
update-initramfs -u

7. İlk SSD'den önyüklemeyi etkinleştir

Artık sistem neredeyse hazır, sadece UEFI önyükleme parametrelerinin kurulması gerekiyor.

mount /dev/sda1 /boot/efi
grub-install --boot-directory=/boot --bootloader-id=Ubuntu --target=x86_64-efi --efi-directory=/boot/efi --recheck
update-grub
umount /dev/sda1

Bu, önyükleyiciyi /boot/efi/EFI/Ubuntu(aka EFI/Ubuntuon /dev/sda1) kurar ve ilk önce bilgisayardaki UEFI önyükleme zincirine yükler.

8. İkinci SSD'den önyüklemeyi etkinleştir

Neredeyse tamamız. Bu noktada, sdasürücüyü yeniden başlatabiliriz . Ayrıca, sürücünün mdadmya sdada sdbsürücünün arızasını kaldırabilmelidir . Ancak, EFI RAIDed değil, bu yüzden onu klonlamamız gerekiyor .

dd if=/dev/sda1 of=/dev/sdb1

İkinci sürücüde önyükleyici yüklemenin yanı sıra, bu konuda FAT32 dosya sisteminin UUID yapacak sdb1(tarafından bildirilen bölüm blkid) o maçı sda1ve /etc/fstab. (İçin Uuıdlerin ancak o Not /dev/sda1ve /dev/sdb1bölümleri hala farklı olacaktır - karşılaştırmak ls -la /dev/disk/by-partuuid | grep sd[ab]1ile blkid /dev/sd[ab]1kendiniz de kontrol yükledikten sonra.)

Son olarak, sdb1bölümü önyükleme sırasına yerleştirmeliyiz. (Not: BIOS'unuza bağlı olarak bu adım gerekli olmayabilir. Bazı BIOS'ların otomatik olarak geçerli bir ESP listesi oluşturduğuna dair rapor aldım.)

efibootmgr -c -g -d /dev/sdb -p 1 -L "Ubuntu #2" -l '\EFI\ubuntu\grubx64.efi'

Test etmedim, ancak ESP ile sdave arasında benzersiz etiketlerin (-L) olması muhtemelen gerekli sdb.

Bu, geçerli önyükleme sırasının bir çıktısını üretecektir, örn.

Timeout: 0 seconds
BootOrder: 0009,0008,0000,0001,0002,000B,0003,0004,0005,0006,0007
Boot0000  Windows Boot Manager
Boot0001  DTO UEFI USB Floppy/CD
Boot0002  DTO UEFI USB Hard Drive
Boot0003* DTO UEFI ATAPI CD-ROM Drive
Boot0004  CD/DVD Drive 
Boot0005  DTO Legacy USB Floppy/CD
Boot0006* Hard Drive
Boot0007* IBA GE Slot 00C8 v1550
Boot0008* Ubuntu
Boot000B  KingstonDT 101 II PMAP
Boot0009* Ubuntu #2

Ubuntu # 2 (sdb) ve Ubuntu (sda) öğesinin önyükleme sırasındaki ilk olduğuna dikkat edin.

Yeniden Başlatma

Şimdi yeniden başlatmaya hazırız.

exit # from chroot
exit # from sudo -s
sudo reboot

Sistem şimdi Ubuntu'ya yeniden başlamalıdır (Önce Ubuntu Live yükleme medyasını çıkarmanız gerekebilir.)

Önyüklemeden sonra koşabilirsiniz

sudo update-grub

Windows önyükleyici grubunu grub önyükleme zincirine takmak için.

Sanal makine gotchas

Bunu önce sanal bir makinede denemek istiyorsanız, bazı uyarılar var: Görünüşe göre, UEFI bilgisini tutan NVRAM yeniden başlatmalar arasında hatırlanıyor, ancak kapatma-yeniden başlatma döngüleri arasında hatırlanmıyor. Bu durumda, UEFI Shell konsolunda sona erebilir. Aşağıdaki komutlar sizi makinenize önyüklemelidir /dev/sda1(kullanım FS1:için /dev/sdb1):

FS0:
\EFI\ubuntu\grubx64.efi

Virtualbox'taki UEFI önyüklemesinin ilk cevabındaki ilk çözüm - Ubuntu 12.04 de yardımcı olabilir.

Bir disk arızasını simüle etme

Her iki RAID bileşen cihazının başarısızlığı kullanılarak simüle edilebilir mdadm. Ancak, önyükleme öğelerinin bir disk arızasından kurtulacağını doğrulamak için bilgisayarı kapatmam ve bir diskten elektriği kesmem gerekti. Bunu yaparsanız, önce md cihazlarının senkronize edildiğinden emin olun .

cat /proc/mdstat 

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sdb3[2] sda3[0]
      216269952 blocks super 1.2 [2/2] [UU]
      bitmap: 2/2 pages [8KB], 65536KB chunk

md0 : active raid1 sda2[0] sdb2[2]
      33537920 blocks super 1.2 [2/2] [UU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

Aşağıdaki talimatlarda, sdX arızalı cihazdır (X = a veya b) ve sdY tamam cihazdır.

Bir sürücünün bağlantısını kes

Bilgisayarı Kapat. Bir sürücüyü ayırın. Tekrar başlat. Ubuntu şimdi RAID sürücülerine düşük modda önyükleme yapmalı. (Kutlayın! Yapmaya çalıştığınız şey buydu!;)

cat /proc/mdstat 

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sda3[0]
      216269952 blocks super 1.2 [2/1] [U_]
      bitmap: 2/2 pages [8KB], 65536KB chunk

md0 : active raid1 sda2[0]
      33537920 blocks super 1.2 [2/1] [U_]
      bitmap: 0/1 pages [0KB], 65536KB chunk

unused devices: <none>

Başarısız bir diskten kurtarma

Arızalı bir diski değiştirmeniz gerektiğinde, takip edilmesi gereken işlem budur. Bir yedek taklit etmek istiyorsanız, bir Ubuntu Live oturumunda önyükleme yapabilir ve

dd if=/dev/zero of=/dev/sdX

Gerçek sisteme yeniden başlatmadan önce diski silmek için. Yukarıdaki bölümdeki önyükleme / RAID artıklığını henüz test ettiyseniz, bu adımı atlayabilirsiniz. Bununla birlikte, sisteminiz için tam önyükleme / RAID yedekliliği elde etmek için en az 2 ve 4 numaralı adımları uygulamanız gerekir.

Bir disk değişiminden sonra RAID + önyükleme sistemini geri yüklemek için aşağıdaki adımları izleyin:

  1. Yeni sürücüyü bölümlendirin.
  2. Md aygıtlarına bölüm ekleyin.
  3. Önyükleme bölümünü klonlayın.
  4. Klon için bir EFI kaydı ekleyin.

1. Yeni sürücüyü bölümleyin

Bölümleme tablosunu sağlıklı sürücüden kopyalayın:

sudo sgdisk /dev/sdY -R /dev/sdX

Yeni sürücüdeki UUID'leri yeniden randomize edin.

sudo sgdisk /dev/sdX -G

2. Md cihazlarına ekleyin

sudo mdadm --add /dev/md0 /dev/sdX2
sudo mdadm --add /dev/md1 /dev/sdX3

3. Önyükleme bölümünü klonlayın

ESP'yi sağlıklı sürücüden klonlayın. (Dikkatli olun, eğer gerçekten batırırsanız kurtarmayı etkinleştirmek için önce her iki ESP'den bir dosya dökümü yapın).

sudo dd if=/dev/sdY1 of=/dev/sdX1

4. Yeni canlanan diski önyükleme sırasına yerleştirin

Klon için bir EFI kaydı ekleyin. -L etiketini gerektiği gibi değiştirin.

sudo efibootmgr -c -g -d /dev/sdX -p 1 -L "Ubuntu #2" -l '\EFI\ubuntu\grubx64.efi'

Şimdi, sistemi yeniden başlatmanın normale dönmesi gerekir (RAID cihazları hala senkronize olabilir)!

Neden uyku senaryosu?

Bir uyku komut ekleyerek gereksiz olabilir ve kullanılarak yerini öne toplum tarafından öne sürülmüştür GRUB_CMDLINE_LINUX="rootdelay=30"içinde /etc/default/grubizledi sudo update-grub. Bu öneri kesinlikle daha temiz ve bir disk arızası / değiştirme senaryosunda çalışıyor. Ancak, bir ihtar var ...

İkinci SSD'nin bağlantısını kestim ve rootdelay=30uyku betiği yerine vb. Öğrendim:
1) Sistem, "başarısız" sürücü olmadan bozulmuş modda önyükleme yapıyor.
2) Bozulmamış önyüklemede (her iki sürücü de mevcut), önyükleme süresi kısalır. Gecikme, yalnızca ikinci sürücü eksikken algılanabilir.

İkinci sürücümü yeniden ekleyene kadar 1) ve 2) kulağa harika geliyordu. Önyüklemede, RAID dizisi bir araya gelemedi ve initramfsne yapacağımı bilmeden istemde bıraktı . Durumu düzeltmek mümkün olabilirdi a) Ubuntu Live USB belleğe önyüklemek, b) takmak mdadmve c) diziyi elle yeniden kurmak , ancak ... bir yerlere dağıldım. Ben Bunun yerine, bu testi yeniden ran ile (evet, ben bininci defa ... için üstten NASIL başladınız) uyku komut, sistem yaptılar çizme. Diziler bozulmuş moddaydı ve /dev/sdb[23]herhangi bir ekstra USB bellek çubuğu olmadan bölümleri manuel olarak yeniden ekleyebilirdim . Neden uyku senaryosunun işe yaradığını bilmiyorum, oysa rootdelayki değil. Belki de mdadmiki, biraz eşzamanlı olmayan bileşen aygıtı ile karıştırılıyor, ancak düşündümmdadmbununla baş etmek için tasarlandı. Her neyse, uyku senaryosu çalıştığından beri buna bağlı kalıyorum.

Mükemmel sağlıklı bir RAID bileşen aygıtını çıkarmanın, RAID'i düşürülmüş moda yeniden başlatmanın ve ardından bileşen aygıtını yeniden eklemenin gerçekçi olmayan bir senaryo olduğu söylenebilir: Gerçekçi senaryo, bir aygıtın başarısız olması ve yenisiyle değiştirilmesidir. , mdadmkafan karışmak için daha az fırsat bırakıyor . Bu tartışmaya katılıyorum. Ancak, aslında bazı donanımları devre dışı bırakmak dışında sistemin bir donanım arızasına nasıl tolerans göstereceğini nasıl test edeceğimi bilmiyorum! Ve testten sonra, gereksiz, çalışan bir sisteme geri dönmek istiyorum. (Eh, olabilir başka makineye benim ikinci SSD takmak ve tokatlamak bunu ben yeniden eklemeden önce, ama bu mümkün değil.)

Özetle: Bildiğim kadarıyla, rootdelayçözüm temiz, bozulmamış çizmeler için uyku senaryosundan daha hızlı ve gerçek bir sürücü arızası / değiştirme senaryosu için çalışmalı. Ancak, bunu test etmek için uygun bir yol bilmiyorum. Bu yüzden şu an için çirkin uyku senaryosuna sadık kalacağım.


Not 1: Kurulum sırasında yanlışlıkla Windows'a önyükleme yaparsanız ve DHCP daha sonra Ubuntu'ya yeniden başlattığınızda (Canlı veya başka şekilde) gizlice başarısız olur (başıma geldi), bilgisayarın + yönlendiricilerin yeniden başlatılması yardımcı olabilir. Görünüşe göre bazı yönlendiriciler nedense Ubuntu etkiler ancak DHCP isteklerini tekrarlayan hakkında "akıllı" olmaya çalışmayın, Windows ... iç çekiyorum
Niclas Börlin

1
Not 2: Yukarıda kurulu önyükleme sırası, sdb'deki önyükleyici kullanıldığını gösterse de, / boot / efi'nin hala sda ( mount | grep efi) ' dan monte edildiğini görebilirsiniz . Anlaşılan linux blkid'leri eşleşen ilk bölümü bağlar /etc/fstab. Yine de bu bir problem olmamalı.
Niclas Börlin 11:15

Not 3: Herhangi bir sebepten dolayı md cihazlarınıza önyükleme yapmak zorunda kalmazsanız (ör. Yukarıdaki 3. adımdaki önyükleme bölümü kurtarmasını bertaraf ederek), ardından apt-get install mdadmve ardından Ubuntu Live ortamını kullanarak önyükleyerek erişimi kurtarmayı başardım mdadm -A /dev/md0 mdadm -A /dev/md1.
Niclas Börlin

3
Evet. :) Sistemimi bu şekilde yapılandırdım.
Niclas Börlin

1
grub-efi-amd64-signedAksi halde kurmak zorunda kaldım, güvenli önyükleme etkinse "geçersiz imza" efi hatası alıyordum.
Alecz

0

Önerim Debian OS için, ancak Ubuntu ve diğerleri için de işe yarayacağını düşünüyorum.

Çok sayıda anakartın UEFI girişlerini doğru şekilde işlememesiyle ortaya çıkan bir sorunu çözmenin olası bir yolu (Doğru girişi yapmış olsanız bile Debian önyükleme yapmaz efibootmgr -c -g -d /dev/sda -p 1 -w -L "debian" -l /EFI/debian/grubx64.efi, UEFI BIOS bir "debian" önyüklenebilir diski gösterir ancak önyükleme yapmaz) ), bunun yerine genel girdi kullanmaktır /boot/efi/EFI/boot/bootx4.efi.

Mesela Asus Z87C beğenmiyor /EFI/debian/grubx64.efi.

Yani, efi bölümü monte eğer /dev/sda1üzere /boot/efiyola:

mkdir /boot/efi/EFI/boot
cp /boot/efi/EFI/debian/grubx64.efi /boot/efi/EFI/boot/bootx4.efi

Ardından yeniden başlatın.

UEFI BIOS, "UEFI OS" genel diskini ve daha önce efibootmgr ile oluşturulan başka bir girişi görecektir, ancak "UEFI OS" genelinden herhangi bir sorun çıkarmadan önyükleme yapacaktır.

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.