略語:
Arch LinuxはUSB 2.0ポートを使用して、問題なくUSBデバイスから起動できます。他の同じUSBデバイスの特定のカスタム永続Windowsインストールも、USB 2.0または3.0を使用するかどうかに関係なく問題なく起動します。
USB 3.0を使用してArch Linuxインストールを起動するには、USB 3.0をinitramfsに挿入し、手動でデバイスを取り外して再接続し、特定のUUIDに対してインストールコマンドを手動で入力し、手動でExitと入力する必要があります。
https://i.stack.imgur.com/32Gtp.jpg
長いテーブル:
私はNVMe - > USB 3.0コンバーターシェルを使用して非常に高速の永続的なUSBインストール可能なOSインストールを作成していますが、これまでいくつかの永続的なWindowsインストールツールを使用して大きな成功を収めてきました.私はArch Linux(Manjaro)のインストールを通じて同じ目標を達成しようとしました。
USB 2.0ポートを使用すると、GRUBがロードされ、マイインストールで自動的に起動し、それ自体が問題なく起動しました。ただし、USB 3.0ポートで同じ操作を実行すると、initramfsは定義されたUUIDを見つけることができませんgrub.cfg
。
ERROR: device `UUID=b6c7[...]` not found. Skipping fsck.
mount: /new_root can't find UUID=b6c7[...].
You are now being dropped into an emergency shell.
ブロックデバイスが完全にありません(/dev
とマークする必要があります)。/dev/sdaX
/dev/disk/by-uuid/b6c7[...]
USBデバイス自体を取り外して再接続すると(その間まだinitramfsシェルでは、突然すべてが正しくマウントされ(たとえば、デバイスとすべてのパーティションが下に表示され、/dev
それぞれ$ blkid
が正しく表示される)、問題なく手動で起動できます。
mount /dev/disk/by-uuid/[...] new_root # OR: mount /dev/sda2 new_root
exit
私が使用しているデバイスです(USB 3.0ポートに接続した場合)。
$ lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
|__ [...]
|__ Port 4: Dev 3, If 0, Class=Mass Storage, Driver=uas, 5000M
$ lsusb
[...]
Bus 004 Device 003: ID 152d:0583 JMicron Technology Corp. / JMicron USA Technology Corp. JMS583Gen 2 to PCIe Gen3x2 Bridge
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 232,9G 0 disk
├─sda1
│ 8:1 0 300M 0 part /mnt/boot/efi
└─sda2
8:2 0 232,6G 0 part /mnt
[...]
$ lsblk -o PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME,UUID
PATH PTTYPE PARTTYPE FSTYPE PARTTYPENAME UUID
/dev/sda gpt
/dev/sda1 gpt c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat EFI System 427C-611E
/dev/sda2 gpt 0fc63daf-8483-4772-8e79-3d69d8477de4 ext4 Linux filesystem b6c724c4-8c0f-443c-b596-e909ef18da76
[...]
私が今まで試したこと:
- インストール
linux-firmware-qlogic
およびupd72020x-fw
インストール中のエラーの低減mkinitcpio
- 強制
uas usb_storage xhci_pci xhci_hcd
モジュールのロード/etc/mkinitcpio.conf
/etc/mkinitcpio.conf
HOOKSを次の説明に従って再配置します。https://wiki.archlinux.org/title/Install_Arch_Linux_on_a_removable_medium(block
そしてkeyboard
フック今後フックautodetect
)- 「fallback」initramfsで起動します(
autodetect
有効にしてはいけません。すでにすべてのモジュールに組み込まれている必要があります。そうですか?)
すべて失敗しました。
initramfsに直接投げられた後、少なくともいくつかのモジュールがロードされているように見えます。
$ lsmod
usbhid
xhci_pci
xhci_pci_renesas
uas
usb_storage
[...]
mkinitcpio
:
$ cat /etc/mkinitcpio.conf
MODULES="uas usb_storage xhci_pci xhci_hcd"
[...]
HOOKS="base udev modconf block keyboard autodetect keymap consolefont plymouth filesystems fsck"
[...]
$ mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux61.preset: 'default'
-> -k /boot/vmlinuz-6.1-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-6.1-x86_64.img --microcode /boot/amd-ucode.img --microcode /boot/intel-ucode.img
==> Starting build: '6.1.22-1-MANJARO'
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
-> Running build hook: [keyboard]
-> Running build hook: [autodetect]
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [plymouth]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-6.1-x86_64.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux61.preset: 'fallback'
-> -k /boot/vmlinuz-6.1-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-6.1-x86_64-fallback.img -S autodetect --microcode /boot/amd-ucode.img --microcode /boot/intel-ucode.img
==> Starting build: '6.1.22-1-MANJARO'
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [plymouth]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-6.1-x86_64-fallback.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux62.preset: 'default'
-> -k /boot/vmlinuz-6.2-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-6.2-x86_64.img --microcode /boot/amd-ucode.img --microcode /boot/intel-ucode.img
==> Starting build: '6.2.9-1-MANJARO'
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
-> Running build hook: [keyboard]
-> Running build hook: [autodetect]
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [plymouth]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-6.2-x86_64.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux62.preset: 'fallback'
-> -k /boot/vmlinuz-6.2-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-6.2-x86_64-fallback.img -S autodetect --microcode /boot/amd-ucode.img --microcode /boot/intel-ucode.img
==> Starting build: '6.2.9-1-MANJARO'
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'wd719x'
==> WARNING: Possibly missing firmware for module: 'aic94xx'
-> Running build hook: [keyboard]
-> Running build hook: [keymap]
-> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
-> Running build hook: [plymouth]
-> Running build hook: [filesystems]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-6.2-x86_64-fallback.img'
==> Image generation successful
追加initramfs調査のいくつかの写真:https://i.stack.imgur.com/32Gtp.jpg