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
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.
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.
FAT32 bölümünü takın. Adımların geri kalanı için, / mnt / usbboot konumunda olduğunu varsayacağım.
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
.
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.
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
Dahili sürücünüze chroot yapın ve şu komutu çalıştırın: sudo systemctl enable --now boot-sync.service
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
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.
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.
FAT32 bölümünü takın. Adımların geri kalanı için, / mnt / usbboot konumunda olduğunu varsayacağım.
Dahili sürücünüze chroot yapın ve bu komutu çalıştırın sudo bootctl --path=/mnt/usbboot install
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)
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.
- /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.
Bu dosyayı dahili sürücüde oluşturun: `/etc/systemd/system/boot-sync.service '
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
Dahili sürücünüze chroot yapın ve şu komutu çalıştırın: sudo systemctl enable --now boot-sync.service
Varsayılan önyükleme aygıtı olarak oluşturduğunuz USB sürücüsünü yeniden başlatın ve seçin.