システムを起動したoverclockix(debianベース)のUSBドライブがあります。接続されているSATASSDドライブにインストールする方法を見つけようとしています。私は次のことを試みました:
SSDにfdiskを使用して次のパーティションを作成しました。
/dev/sda1 /boot ext2 (bootable)
/dev/sda2 / ext4
/dev/sda3 /var ext4
/dev/sda4 /home ext4
/dev/sda5 none swap
partprobe /dev/sda
Mkfsを実行しました。各パーティションとsda5のmkswap。
次に、パーティションをマウントしました。
mount /dev/sda2 /mnt
mkdir /mnt/boot /mnt/var /mnt/home
mount /dev/sda1 /mnt/boot
mount /dev/sda3 /mnt/var
mount /dev/sda4 /mnt/home
次に、USBからファイルをコピーしました。
rsync -avp --exclude /proc --exclude /boot --exclude /home --exclude /var --exclude /sys --exclude /dev --exclude /run / /mnt
rsync -avp /var /mnt/var
rsync -avp /boot /mnt/boot
rsync -avp /home /mnt/home
次に、マウントされたproc、sys、run、devをバインドします。
mkdir /mnt/proc /mnt/run /mnt/sys /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mnt/dev
mount --bind /run /mnt/run
次に、/ mntにchrootしました。
chroot /mnt /bin/bash
新しいfstabを作成しました:
blkid >> /etc/fstab
vi /etc/fstab
UUID=<UUID> <mpoint> <type> defaults(or sw) 0 2
次に、grub-install/boot/dev/sdaを実行しましたが、エラーは返されませんでした。
Chrootを終了し、パーティションをアンマウントし、USBを取り外して、再起動しました。
これにより、grubで起動するUSBデバイス上にあるものとほぼ同じファイルシステムが作成されると思いました。しかし、ドライブから起動できませんでした。 UEFIと関係があると思いますが、他に何をする必要があるのかよくわかりません。
どんな助けでもありがたいです、ありがとう。
ブートパーティションsda2
をFat32にフォーマットします。これは、ESPパーティションとして使用されます。
パーティションをマウントし、mount /dev/sda1 /mnt/boot
を次のように置き換えます。
mount /dev/sda1 /mnt/boot/efi
実行:
for i in /sys /proc /dev; do mount --bind $i /mnt$i; done
インターネットを機能させてから、rootを変更します。
cp /etc/resolv.conf /mnt/etc/
chroot /mnt /bin/bash
インストールgrub
:
apt-get install --reinstall grub-efi
update-grub
exit
for i in /sys /proc /dev; do umount /mnt$i; done
パーティションをアンマウントして再起動します
uEFIブートあり
これを少し拡張して、残りの答えが理にかなっているようにします。
古いスタイルのIBM互換PCでは、ファームウェアは起動時にロードされます。これは通常BIOSファームウェアであり、haarddiskでMBRレコードを検索し、それを読み取り、ブートセクター、第1ステージのブートローダーなどを実行します。これは、WindowsまたはLinuxを起動する場合も同じです。異なるブートローダーを取得するだけです。または、複数のブートローダー(例: grubからウィンドウをチェーンするとき。
BIOSは1985年頃からの基本的なシステムであり、最近のPCにはやや欠けています。下位互換性のために使用しました。
それ以来、EFIに置き換えられました。 EFIは 明確に定義されています そしてはるかに有能です。ブートセクタは使用しません。代わりに、 [〜#〜] gpt [〜#〜] パーティションディスクを調べ、 EFIシステムパーティション を見つけて、そこからファイルを読み取ります。通常、これにはboot.efi
のようなものが含まれます。* 1
EFIシステムパーティションが起動するために存在している必要があります。 EFI実装が理解できる形式である必要があります。 EFIが理解するために必要なファイルシステムが1つあり、そのファイルシステムはたまたまFAT32と100%互換性があります。* 2
セットアップでは、いくつかのパーティションを作成していることが示されていますが、いずれもEFIシステムパーティションではありません。 BIOS、coreboot、またはCSMの起動に関する古いガイドに従っていると思います。
背景とそれが機能しなかった理由についてはこれだけですが、それでも主要な質問には答えられません。
UEFIブートでライブシステムからssdにdebianlinuxをインストールするにはどうすればよいですか?
から wiki.debian.org/UEFI :
"DebianはEFIブートローダーにgrub-efiをインストールします"。
これは.efiファイルであり、EFIシステムパーティションにインストールする必要があります。あなたが持っていないもの。もう一度開始し、適切なタイプ(識別子C12A7328-F81F-11D2-BA4B-00A0C93EC93B
)の追加パーティションでディスクをパーティション分割します。 FAT32にフォーマットします。 grub-efiを読み、UEFIが有効になっている場合はカーネルを確認します。次に、適切なタイミングでapt-get install --reinstall grub-efi-AMD64
を発行するか、efibootmgr
で遊んでください。
* 1:注:Grub2はEFI互換です。
* 2:1つの既知の例外:Apple EFIもHFSをグロクします。必要に応じて、通常の形式も理解します。