USB anahtarından NVME SSD'yi önyükleyin


0

tl; dr - Bir USB anahtarından bir Ubuntu Sunucu kurulumu nasıl başlatılır?

Bir NVMe sürücüsünden önyüklemeye izin vermeyen bir sunucuda Ubuntu Sunucu 18.04 LTS kurulumunu başlatmaya çalışıyorum. Sürücü önyükleme sonrası görünür durumda olduğu için (örneğin bir Live CD'ye önyüklemeden sonra) düşüncem, işletim sistemini her zaman takılı tuttuğum bir USB diskten / anahtardan zincir yükleyerek çalışmasını sağlamaktı.

Bunun nasıl yapılacağı hakkında bir rehber için web üzerinden araştırdım ancak bulduğum her şey çok kavramsal bir seviyede. Belgelendirme veya adım adım rehberlik için bağlantılar sağlayacak birini arıyorum.

Donanım özellikleri (gerekirse):

Dell Poweredge R230 Startech x4 PCI Express - M.2 PCIe SSD Adaptör Kartı Samsung 970 EVO NVMe (M.2) 250 GB Kingston DataTraveler SE9 16GB

Yanıtlar:


-1

Dizüstü bilgisayarımdan önyüklemek için kullandığım ve dahili sabit diskle ilgili zaman zaman sorun yaşayan bir USB sürücüm var. Bazen BIOS'ta algılanmaz, ancak önceden başlatıldığında her zaman algılanır.

Dahili sürücünüzde sistem önyüklemesi varsa, ilk kılavuzu izleyin. Değilse, ikinci yönteme atlayın. Systemd-boot'ı dahili sürücünüze kurmak önerilen yöntemdir.

1. Kılavuz: Dahili Sürücüde Systemd-boot

  1. Bilgisayardaki canlı bir CD'ye önyükleyin. NVMe sürücüsünden önyüklemek için kullanacağınız USB sürücüyü takın.

  2. USB sürücüde bir FAT32 bölümü oluşturun. Önyükleme ve esp bayraklarının etkin olduğundan emin olun. Bunu yapmanın en kolay yolu gparted ile.

  3. FAT32 bölümünü takın. Adımların geri kalanı için, / mnt / usbboot konumunda olduğunu varsayacağım.

  4. USB önyükleme bölümünüzü otomatik olarak monte etmek için fstab'ye ekleyin. Bunu yapmanın en kolay yolu, dahili sürücünüze chroot (arch-chroot kullanın, daha kolaydır) ve sonra sudo genfstab -U / > /etc/fstab.

  5. Bu dosyayı dahili sürücüde oluşturun: `/etc/systemd/system/boot-sync.service '

    Not: Bu sistem birimi için rsync kurulu olmalıdır.

  6. Aşağıdakileri yeni oluşturduğunuz dosyaya yapıştırın:

[Birim]

Açıklama = "Dahili sürücüden usb sürücüye önyükleme dosyalarını eşitle"

RequiresMountsFor = / mnt / usbboot

[Hizmet]

= Oneshot yazın

ExecStart = / bin / bash -c "rsync -rlgopuv /boot/*.img / mnt / usbboot /"

ExecStart = / bin / rsync -rlgopuv / önyükleme / vmlinuz-linux / mnt / usbboot /

ExecStart = / bin / rsync -rlgopuv / önyükleme / EFI / mnt / usbboot /

ExecStart = / bin / rsync -rlgopuv / önyükleme / yükleyici / mnt / usbboot /

[Install] WantedBy = multi-user.target

  1. Dahili sürücünüze chroot yapın ve şu komutu çalıştırın: sudo systemctl enable --now boot-sync.service

  2. Varsayılan önyükleme aygıtı olarak az önce oluşturduğunuz USB sürücüsünü yeniden başlatın ve seçin.


2. Kılavuz: USB Sürücüsünde Sistem Önyüklemesi - Tavsiye Edilmez

  1. Bilgisayardaki canlı bir CD'ye önyükleyin. NVMe sürücüsünden önyüklemek için kullanacağınız USB sürücüyü takın.

  2. USB sürücüde bir FAT32 bölümü oluşturun. Önyükleme ve esp bayraklarının etkin olduğundan emin olun. Bunu yapmanın en kolay yolu gparted ile.

  3. FAT32 bölümünü takın. Adımların geri kalanı için, / mnt / usbboot konumunda olduğunu varsayacağım.

  4. Dahili sürücünüze chroot yapın ve bu komutu çalıştırın sudo bootctl --path=/mnt/usbboot install

  5. Bu komutu çalıştırın (ayrıca dahili sürücünüzdeki chroot'un içinde) sudo bootctl update (NOT: Bu gerekli olmayabilir, ancak zarar vermez)

  6. NVMe sürücünüz için /mnt/usb/loader/entries/ubuntu_server.conf adresinde bir giriş oluşturun.

Bunun gibi bir şeye benzemeli:

title Ubuntu Server 18.04
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=PARTUUID=XXXX rw

değiştirmek XXXX NVMe sürücünüzün kök bölümü için PARTUUID ile. Bu blkid çalıştırarak ve kök bölümünüzü arayarak bulunabilir.

  1. /Mnt/usb/loader/loader.conf dosyasını oluşturun

Bunun gibi bir şeye benzemeli:

default ubuntu_server

timeout 4

editor 0

NOT: EITHER adım 8A VEYA adım 8B'yi tamamlayın. Dosyaları manuel olarak kopyalamayı seçerseniz, çekirdeği her güncellediğinizde bunların kurtarılması gerekir


8A (Tavsiye edilmez). El ile kopyala /boot/initramfs-linux.img ve /boot/vmlinuz-linux dahili sürücü önyükleme bölümünden USB sürücüsüne. Çekirdeğinizi her güncellediğinizde veya initramfs'ınızı yeniden oluşturduğunuzda bu dosyaların güncellenmesi gerekecektir.


8B. Komut dosyasını elle kopyalamak yerine kullanmak istiyorsanız, ilk önce USB önyükleme bölümünüzü otomatik olarak monte etmek için fstab'a ekleyin. Bunu yapmanın en kolay yolu, dahili sürücünüze chroot (arch-chroot kullanın, daha kolaydır) ve sonra çalıştırmaktır. sudo genfstab -U / > /etc/fstab.


Not: Bu sistem birimi için rsync uygulamasına ihtiyacınız olacak.

  1. Bu dosyayı dahili sürücüde oluşturun: `/etc/systemd/system/boot-sync.service '

  2. Aşağıdakileri yeni oluşturduğunuz dosyaya yapıştırın:

[Birim]

Açıklama = "Dahili sürücüden usb sürücüye önyükleme dosyalarını eşitle"

RequiresMountsFor = / mnt / usbboot

[Hizmet]

= Oneshot yazın

ExecStart = / bin / bash -c "rsync -rlgopuv /boot/*.img / mnt / usbboot /"

ExecStart = / bin / rsync -rlgopuv / açılış / vmlinuz-linux / mnt / usbboot

[Yükleme]   WantedBy = multi-user.target

  1. Dahili sürücünüze chroot yapın ve şu komutu çalıştırın: sudo systemctl enable --now boot-sync.service

  2. Varsayılan önyükleme aygıtı olarak oluşturduğunuz USB sürücüsünü yeniden başlatın ve seçin.


Bootctl komutları ne işe yarar? İnsan bunun sistemd ve EFI ile ilgili olduğunu ima ediyor, gerekli mi?
Xen2050

itibaren wiki.archlinux.org/index.php/... - "[bootctl install], systemd-boot boot yükleyicisini EFI bölümüne kopyalayacaktır: x64 mimarisi sisteminde iki özdeş ikili esp / EFI / systemd / systemd-bootx64.efi ve esp / EFI / BOOT / BOOTX64.EFI ESP'ye aktarılır. Ardından, sistem önyüklemesini EFI Önyükleme Yöneticisi tarafından yüklenen varsayılan EFI uygulaması (varsayılan önyükleme girişi) olarak ayarlar. " Temel olarak, gerekli EFI saplamaları ve anakartınızdaki UEFI uygulaması tarafından çalıştırılacak olan dosyaları kopyalar. Bu yöntem için gereklidir.
Layne Bernardo

Öncelikle, hızlı bir yanıt verdiğiniz ve yardım için zaman ayırdığınız için teşekkür ederiz! Bunun işe yarayacağına inanamıyorum. Belirli bir hata mesajı alamıyorum, ancak 5. adımdaki yolu işaret etmem dışında (sudo bootctl update --path = / mnt / sdb1). Açtığımda aşağıdaki hata iletisini alıyorum: "\ vmlinuz-linux yüklenirken hata oluştu: Bulunamadı Ubuntu Server 18.04 (\ vmlinuz-linux): Bulunamadı"
megahertz

Oh doğru, bu kısmı unuttum. Kesin bir düzeltmem var, sorunu kopyalayarak düzeltebilirsiniz. initramfs-linux.img ve vmlinuz-linux dahili sürücü önyükleme bölümünden USB sürücüsüne. Linux çekirdeğini her güncellediğinizde bu dosyaları kopyalamanız gerekecektir. Bunu açılışta yapacak ve cevabı güncelleyecek bir systemd birimim var.
Layne Bernardo

Eğitim programı güncellendi - dahili sürücüde zaten sistem önyüklemesi yaptıysanız, hangisinin kullanılabileceğini unuttuğum çok daha kolay bir yöntem dahil. Bunun için özür dilerim, USB önyükleme diskimi bir yıl önce kurdum ve o zamandan bu yana karışmadım. Mount konumunu / mnt / usb'den / mnt / usbboot 'a değiştirdiğimi unutmayın çünkü sistemd birimiyle daha az karıştırıcıdır. Şerefe!
Layne Bernardo
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.