Bagaimana cara menginstal Ubuntu 14.04 / 16.04 64-bit dengan partisi RAID 1 dual-boot pada sistem UEFI / GPT?


22

Pembaruan: Pertanyaan dan jawaban di bawah ini juga berlaku untuk Ubuntu 16.04

Saya memiliki komputer dengan dual SSD dan Win (7) yang sudah diinstal pada disk lain. Pra-instalasi menggunakan (U) EFI / GPT boot. Saya ingin menginstal Ubuntu 14.04 desktop 64-bit pada partisi root RAID1 pada SSD saya dan masih dapat mem-boot-ganda sistem Win7 saya. Apakah ini mungkin?

Panduan ini menggunakan penginstal desktop tidak berfungsi, mungkin karena (secara implisit) mengasumsikan boot MBR. Juga tidak menginstal distribusi server , mungkin karena alasan yang sama.

Jawaban:


36

UPDATE: Saya telah memverifikasi bahwa uraian di bawah ini juga berfungsi untuk Ubuntu 16.04. Pengguna lain melaporkan bekerja pada 17.10 dan 18.04.1.

CATATAN: HOWTO ini tidak akan memberi Anda LVM. Jika Anda ingin LVM juga, coba Instal Ubuntu 18.04 desktop dengan RAID 1 dan LVM pada mesin dengan UEFI BIOS .

Setelah berhari-hari mencoba, saya sekarang memiliki sistem kerja! Secara singkat, solusinya terdiri dari langkah-langkah berikut:

  1. Boot menggunakan Ubuntu Live CD / USB.
  2. Partisi SSD sesuai kebutuhan.
  3. Instal paket yang hilang (mdadm dan grub-efi).
  4. Buat partisi RAID.
  5. Jalankan penginstal Ubiquity (tetapi jangan boot ke sistem baru).
  6. Patch sistem yang diinstal (initramfs) untuk mengaktifkan boot dari root RAIDed.
  7. Populasikan partisi EFI dari SSD pertama dengan GRUB dan instal ke dalam rantai boot EFI.
  8. Kloning partisi EFI ke SSD lain dan instal ke rantai boot.
  9. Selesai! Sistem Anda sekarang akan memiliki redundansi RAID 1. Perhatikan bahwa tidak ada yang perlu dilakukan setelah mis. Pembaruan kernel, karena partisi UEFI tidak tersentuh.

Komponen kunci dari langkah 6 dari solusi adalah penundaan dalam urutan boot yang jika tidak mencampakkan saya langsung ke prompt GRUB (tanpa keyboard!) Jika salah satu SSD tidak ada.

HOWTO terperinci

1. Boot

Boot menggunakan EFI dari stik USB. Bagaimana tepatnya akan bervariasi oleh sistem Anda. Pilih Coba ubuntu tanpa menginstal .

Mulai emulator terminal, misalnya xtermuntuk menjalankan perintah di bawah ini.

1.1 Login dari komputer lain

Saat mencoba ini, saya sering merasa lebih mudah untuk login dari komputer lain yang sudah terkonfigurasi penuh. Perintah cut-and-paste yang disederhanakan ini, dll. Jika Anda ingin melakukan hal yang sama, Anda dapat masuk melalui ssh dengan melakukan hal berikut:

Di komputer yang akan dikonfigurasi, instal server openssh:

sudo apt-get install openssh-server

Ganti kata sandi. Kata sandi default untuk pengguna ubuntuadalah kosong. Anda mungkin dapat memilih kata sandi kekuatan sedang. Ini akan dilupakan begitu Anda me-reboot komputer baru Anda.

passwd

Sekarang Anda dapat masuk ke sesi langsung ubuntu dari komputer lain. Petunjuk di bawah ini untuk linux:

ssh -l ubuntu <your-new-computer>

Jika Anda mendapat peringatan tentang orang yang dicurigai sebagai penyerang tengah, Anda perlu menghapus kunci ssh yang digunakan untuk mengidentifikasi komputer baru. Ini karena openssh-servermenghasilkan kunci server baru setiap kali diinstal. Perintah untuk menggunakan biasanya dicetak dan akan terlihat seperti

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

Setelah menjalankan perintah itu, Anda harus bisa masuk ke sesi langsung ubuntu.

2. Partisi disk

Bersihkan partisi lama dan blok boot. Peringatan! Ini akan menghancurkan data pada disk Anda!

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

Buat partisi baru di drive Anda yang terkecil: 100M untuk ESP, 32G untuk RAID SWAP, sisanya untuk root RAID. Jika drive sda ​​Anda terkecil, ikuti Bagian 2.1, atau Bagian 2.2.

2.1 Membuat tabel partisi (/ dev / sda lebih kecil)

Lakukan langkah-langkah berikut:

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

Salin tabel partisi ke disk lain dan buat kembali UUID unik (sebenarnya akan membuat ulang UUID untuk sda).

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

2.2 Membuat tabel partisi (/ dev / sdb lebih kecil)

Lakukan langkah-langkah berikut:

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

Salin tabel partisi ke disk lain dan buat ulang UUID unik (sebenarnya akan membuat ulang UUID untuk sdb).

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

2.3 Buat sistem file FAT32 di / dev / sda

Buat sistem file FAT32 untuk partisi EFI.

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. Instal paket yang hilang

Ubuntu Live CD hadir tanpa dua paket utama; grub-efi dan mdadm. Pasang mereka. (Saya tidak 100% yakin grub-efi diperlukan di sini, tetapi untuk mempertahankan simetri dengan instalasi yang akan datang, bawa juga.)

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

Anda mungkin perlu grub-efi-amd64-signedalih-alih grub-efi-amd64jika Anda mengaktifkan boot aman. (Lihat komentar oleh Alecz.)

4. Buat partisi RAID

Buat perangkat RAID dalam mode terdegradasi. Perangkat akan selesai nanti. Membuat RAID1 lengkap terkadang memberi saya masalah selama ubiquityinstalasi di bawah, tidak yakin mengapa. (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

Verifikasi status RAID.

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>

Partisi perangkat md.

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. Jalankan penginstal

Jalankan penginstal di mana-mana, tidak termasuk boot loader yang akan gagal . ( Catatan : Jika Anda telah masuk melalui ssh, Anda mungkin ingin menjalankan ini di komputer baru Anda.)

sudo ubiquity -b

Pilih Sesuatu yang lain sebagai jenis instalasi dan ubah md1p1jenisnya menjadi ext4, format: ya, dan mount point /. The md0p1partisi secara otomatis akan terpilih sebagai swap.

Dapatkan secangkir kopi saat instalasi selesai.

Penting: Setelah instalasi selesai, pilih Lanjutkan pengujian karena sistem belum siap boot.

Lengkapi perangkat RAID

Pasang partisi sdb yang menunggu ke RAID.

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

Verifikasi semua perangkat RAID baik-baik saja (dan opsional sinkronisasi).

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>

Proses di bawah ini dapat berlanjut selama sinkronisasi, termasuk reboot.

6. Konfigurasikan sistem yang diinstal

Atur untuk mengaktifkan chroot ke sistem instalasi.

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

Konfigurasikan dan instal paket.

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

Jika Anda menemukan perangkat yang masih disinkronkan, Anda mungkin melihat peringatan sesekali seperti:

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

Ini normal dan dapat diabaikan (lihat jawaban di bagian bawah pertanyaan ini ).

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

Menonaktifkan quick_bootakan menghindari penulisan Diskfilter yang tidak didukung bug. Penonaktifan quiet_boothanya untuk preferensi pribadi.

Ubah /etc/mdadm/mdadm.conf untuk menghapus referensi label, yaitu ubah

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

untuk

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

Langkah ini mungkin tidak perlu, tetapi saya telah melihat beberapa halaman menyarankan bahwa skema penamaan mungkin tidak stabil (name = ubuntu: 0/1) dan ini dapat menghentikan perangkat RAID yang sangat baik dari perakitan selama boot.

Ubah baris dalam /etc/default/grubuntuk membaca

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

Sekali lagi, langkah ini mungkin tidak perlu, tetapi saya lebih memilih untuk boot dengan mata terbuka ...

6.1. Tambahkan skrip tidur

(Telah disarankan oleh masyarakat bahwa langkah ini mungkin tidak perlu dan dapat diganti menggunakan GRUB_CMDLINE_LINUX="rootdelay=30"di /etc/default/grub. Untuk alasan menjelaskan di bagian bawah HOWTO ini, saya sarankan untuk tetap dengan script tidur meskipun jelek daripada menggunakan rootdelay. Dengan demikian, kami melanjutkan program reguler kami ... )

Buat skrip yang akan menunggu perangkat RAID untuk menyelesaikan. Tanpa penundaan ini, pemasangan root mungkin gagal karena rakitan RAID tidak selesai tepat waktu . Saya menemukan ini dengan cara yang sulit - masalahnya tidak muncul sampai saya memutus salah satu SSD untuk mensimulasikan kegagalan disk! Pengaturan waktunya mungkin perlu disesuaikan tergantung pada perangkat keras yang tersedia, misalnya disk USB eksternal yang lambat, dll.

Masukkan kode berikut ke /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"

Buat skrip dapat dieksekusi dan instal.

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

7. Aktifkan boot dari SSD pertama

Sekarang sistemnya hampir siap, hanya parameter boot UEFI yang perlu diinstal.

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

Ini akan menginstal boot loader di /boot/efi/EFI/Ubuntu(alias EFI/Ubuntuaktif /dev/sda1) dan menginstalnya pertama kali di rantai boot UEFI di komputer.

8. Mengaktifkan boot dari SSD kedua

Kita hampir selesai. Pada titik ini, kita harus dapat melakukan reboot pada sdadrive. Selanjutnya, mdadmharus bisa menangani kegagalan drive sdaatau salah sdbsatunya. Namun, EFI tidak di-RAID, jadi kita perlu mengkloningnya .

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

Selain menginstal boot loader pada drive kedua, ini akan membuat UUID sistem file FAT32 pada sdb1partisi (seperti yang dilaporkan oleh blkid) cocok dengan sda1dan /etc/fstab. (Namun perlu dicatat bahwa UUID untuk partisi /dev/sda1dan /dev/sdb1masih akan berbeda - bandingkan ls -la /dev/disk/by-partuuid | grep sd[ab]1dengan blkid /dev/sd[ab]1setelah instalasi untuk memeriksa sendiri.)

Akhirnya, kita harus memasukkan sdb1partisi ke dalam urutan boot. (Catatan: Langkah ini mungkin tidak perlu, tergantung pada BIOS Anda. Saya mendapat laporan bahwa beberapa BIOS secara otomatis membuat daftar ESP yang valid.)

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

Saya tidak mengujinya, tetapi mungkin perlu memiliki label unik (-L) antara ESP sdadan sdb.

Ini akan menghasilkan cetakan dari urutan boot saat ini, mis

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

Perhatikan bahwa Ubuntu # 2 (sdb) dan Ubuntu (sda) adalah yang pertama dalam urutan boot.

Mulai ulang

Sekarang kita siap untuk reboot.

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

Sistem sekarang harus reboot ke Ubuntu (Anda mungkin harus menghapus media instalasi Ubuntu Live terlebih dahulu.)

Setelah boot, Anda dapat menjalankan

sudo update-grub

untuk memasang boot loader Windows ke rantai boot grub.

Gotcha mesin virtual

Jika Anda ingin mencoba ini di mesin virtual terlebih dahulu, ada beberapa peringatan: Rupanya, NVRAM yang menyimpan informasi UEFI diingat antara reboot, tetapi tidak di antara siklus shutdown-restart. Jika demikian, Anda mungkin berakhir di konsol UEFI Shell. Perintah-perintah berikut ini akan mem-boot Anda dari mesin Anda /dev/sda1(digunakan FS1:untuk /dev/sdb1):

FS0:
\EFI\ubuntu\grubx64.efi

Solusi pertama di jawaban teratas boot UEFI di virtualbox - Ubuntu 12.04 mungkin juga bermanfaat.

Mensimulasikan kegagalan disk

Kegagalan kedua perangkat komponen RAID dapat disimulasikan menggunakan mdadm. Namun, untuk memverifikasi bahwa hal-hal boot akan selamat dari kegagalan disk saya harus mematikan komputer dan memutuskan daya dari disk. Jika Anda melakukannya, pertama-tama pastikan bahwa perangkat md disinkronkan .

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>

Dalam instruksi di bawah ini, sdX adalah perangkat yang gagal (X = a atau b) dan sdY adalah perangkat yang ok.

Putuskan sambungan drive

Matikan komputer. Putuskan sambungan drive. Mengulang kembali. Ubuntu sekarang harus boot dengan drive RAID dalam mode terdegradasi. (Rayakan! Inilah yang ingin Anda capai!;)

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>

Pulihkan dari disk yang gagal

Ini adalah proses yang harus diikuti jika Anda harus mengganti disk yang rusak. Jika Anda ingin meniru pengganti, Anda bisa boot ke sesi Ubuntu Live dan menggunakannya

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

untuk menghapus disk sebelum mem-boot ulang ke sistem yang sebenarnya. Jika Anda baru saja menguji redundansi boot / RAID pada bagian di atas, Anda dapat melewati langkah ini. Namun, Anda setidaknya harus melakukan langkah 2 dan 4 di bawah ini untuk memulihkan boot penuh / redundansi RAID untuk sistem Anda.

Memulihkan sistem booting RAID + setelah penggantian disk memerlukan langkah-langkah berikut:

  1. Partisi drive baru.
  2. Tambahkan partisi ke perangkat md.
  3. Kloning partisi boot.
  4. Tambahkan catatan EFI untuk klon.

1. Partisi drive baru

Salin tabel partisi dari drive sehat:

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

Mengacak ulang UUID di drive baru.

sudo sgdisk /dev/sdX -G

2. Tambahkan ke perangkat md

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

3. Mengkloning partisi boot

Mengkloning ESP dari drive sehat. (Hati-hati, mungkin lakukan dump-to-file dari kedua ESP terlebih dahulu untuk mengaktifkan pemulihan jika Anda benar-benar mengacaukannya.)

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

4. Masukkan disk yang baru dihidupkan kembali ke dalam urutan boot

Tambahkan catatan EFI untuk klon. Ubah label -L sesuai kebutuhan.

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

Sekarang, reboot sistem seharusnya kembali normal (perangkat RAID mungkin masih disinkronkan)!

Kenapa naskah tidurnya?

Telah disarankan oleh masyarakat bahwa menambahkan script tidur mungkin tidak perlu dan bisa diganti dengan menggunakan GRUB_CMDLINE_LINUX="rootdelay=30"di /etc/default/grubdiikuti oleh sudo update-grub. Saran ini tentu saja lebih bersih dan berfungsi dalam skenario kegagalan / penggantian disk. Namun, ada peringatan ...

Saya memutus SSD kedua saya dan menemukan bahwa dengan rootdelay=30, dll, bukan skrip sleep:
1) Sistem melakukan boot dalam mode terdegradasi tanpa drive "gagal".
2) Dalam boot yang tidak terdegradasi (kedua drive ada), waktu boot berkurang. Penundaan hanya dapat dilihat dengan hilangnya drive kedua.

1) dan 2) terdengar hebat sampai saya menambahkan kembali drive kedua saya. Saat boot, array RAID gagal berkumpul dan meninggalkan saya di initramfsprompt tanpa mengetahui apa yang harus dilakukan. Mungkin dimungkinkan untuk menyelamatkan situasi dengan a) mem-boot ke Ubuntu Live USB stick, b) menginstal mdadmdan c) merakit kembali array secara manual tetapi ... Saya mengacaukannya di suatu tempat. Alih-alih, ketika saya menjalankan kembali tes ini dengan skrip sleep (ya, saya memulai HOWTO dari atas untuk yang kesekian kalinya ...), sistem melakukan boot. Array berada dalam mode terdegradasi dan saya bisa menambahkan kembali secara manual /dev/sdb[23]partisi tanpa USB stick tambahan. Saya tidak tahu mengapa skrip tidur berfungsi sedangkan yang rootdelaytidak. Mungkin mdadmbingung oleh dua, komponen perangkat yang sedikit tidak sinkron, tapi saya pikirmdadmdirancang untuk mengatasinya. Ngomong-ngomong, karena skrip sleep berfungsi, saya tetap berpegang teguh padanya.

Dapat dikatakan bahwa menghapus perangkat komponen RAID yang sehat, mem-boot ulang RAID ke mode terdegradasi dan kemudian menambahkan kembali perangkat komponen adalah skenario yang tidak realistis: Skenario yang realistis adalah bahwa satu perangkat gagal dan diganti dengan yang baru , meninggalkan lebih sedikit kesempatan untuk mdadmmenjadi bingung. Saya setuju dengan argumen itu. Namun, saya tidak tahu bagaimana cara menguji bagaimana sistem mentolerir kegagalan perangkat keras kecuali untuk benar-benar menonaktifkan beberapa perangkat keras! Dan setelah pengujian, saya ingin kembali ke sistem kerja yang berlebihan. (Yah, saya bisa memasang SSD kedua saya ke komputer lain dan menggeseknya sebelum saya menambahkannya kembali, tapi itu tidak layak.)

Singkatnya: Sepengetahuan saya, rootdelaysolusinya bersih, lebih cepat daripada skrip sleep untuk boot non-degradasi, dan harus bekerja untuk skenario kegagalan / penggantian drive nyata. Namun, saya tidak tahu cara yang layak untuk mengujinya. Jadi, untuk saat ini, saya akan tetap menggunakan naskah tidur yang jelek.


Catatan 1: Jika Anda secara tidak sengaja boot ke Windows selama instalasi Anda dan DHCP kemudian gagal secara misterius (terjadi pada saya) ketika Anda mem-boot kembali ke Ubuntu (Live atau sebaliknya), shutdown + reboot komputer + router mungkin membantu. Rupanya beberapa router mencoba untuk menjadi "pintar" tentang permintaan DHCP berulang yang karena beberapa alasan mempengaruhi Ubuntu tetapi bukan Windows ... sigh
Niclas Börlin

1
Catatan 2: Meskipun urutan boot yang diinstal di atas menunjukkan bahwa boot loader pada sdb digunakan, Anda mungkin menemukan bahwa / boot / efi masih di-mount dari sda ( mount | grep efi). Rupanya linux me-mount partisi pertama yang cocok dengan blkid /etc/fstab. Ini seharusnya tidak menjadi masalah.
Niclas Börlin

Catatan 3: Jika Anda karena suatu alasan berakhir tanpa bisa boot ke perangkat md Anda (misalnya dengan mengacaukan pemulihan partisi boot pada langkah 3 di atas), saya dapat memulihkan akses dengan mem-boot menggunakan media Live Ubuntu diikuti oleh apt-get install mdadmdan mdadm -A /dev/md0 mdadm -A /dev/md1.
Niclas Börlin

3
Iya nih. :) Begitulah cara saya mengkonfigurasi sistem saya.
Niclas Börlin

1
Saya harus menginstal grub-efi-amd64-signedjika tidak saya akan mendapatkan kesalahan "tanda tangan tidak valid" jika boot aman diaktifkan.
Alecz

0

Saran saya adalah untuk OS Debian, tapi saya pikir itu akan berfungsi juga untuk Ubuntu dan lainnya.

Salah satu cara yang mungkin untuk menyelesaikan masalah yang terjadi dengan banyak motherboard yang tidak menangani entri UEFI dengan benar (Debian tidak mem-boot meskipun Anda membuat entri yang benar efibootmgr -c -g -d /dev/sda -p 1 -w -L "debian" -l /EFI/debian/grubx64.efi, UEFI BIOS menunjukkan disk yang dapat di-boot "debian" tetapi tidak dapat mem-boot dari itu. ), adalah untuk menggunakan entri generik /boot/efi/EFI/boot/bootx4.efi.

Misalnya Asus Z87C tidak suka /EFI/debian/grubx64.efi.

Jadi, jika Anda memasang partisi efi /dev/sda1ke /boot/efipath:

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

Kemudian reboot.

UEFI BIOS akan melihat disk generik "UEFI OS", dan juga entri lain yang sebelumnya dibuat dengan efibootmgr, tetapi akan mem-boot dari generik "UEFI OS" tanpa masalah.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.