
Lenovo z570にWindows 8.1がインストールされています。以下を使用して作成したUSBからLinux Mint 17をインストールしました。ゆみソフトウェア。インストール後、grubメニューは表示されず、Windowsが自動的に起動します。 Windowsでもクイックスタートをオフにしました。セキュアブートもオフにする必要があるという記事を読みました。ただし、msinfo32にはセキュアブート:サポートされていないと表示されます。私もライブCDでgrub-repairを試しました。まだgrubブートメニューを取得できません。どのような問題が発生する可能性がありますか?
答え1
この質問に対する答えはさまざまです。
UEFI !=BIOS
最初にすべきことは、BIOS関連のブート知識を忘れることです。ここでは、その知識は適用されません。 MBRなし、なし第二段階ブートローダ、いいえ始める分割。幸いなことに、これらはすぐに25年前の16ビットBIOSほど役に立たないでしょう。INT-13Hリアルモードディスクインターフェイスをサポートするように設計されています。
起動プロセス
次に、実行の開始を検討する必要があります。コンピュータが起動すると、ファームウェアは、EFI実行可能ファイルを呼び出す前に、オペレーティングシステムカーネルまたはオペレーティングシステムカーネルを呼び出すように指示する冗長チェーンローダなどのタスクを実行します。
クイックスタート
まず、電源と中断を確認してからビデオを確認してください。古いリアルモードビデオBIOS opromを呼び出し、完了するまで待つか、保護モードGOPビデオROMを検出してスイッチをオンにして続行します。これは大きくクイックスタートほとんどのインターフェイスで。ファームウェアは、以下を処理するリアルモードビットを使用する必要があります。CSM (互換性サポートモジュール)あるいは、一部のGOP標準を自動的に実装し、残りのビデオ初期化操作はすぐに呼び出されるオペレーティングシステムに任せることができます。明らかにGOP対応のビデオカードがあります。この機能を利用することは、Windows固有のオプションではありません。
それでもBIOSではありません。
さらに、OEMはマザーボードのフラッシュメモリに保存したすべてのUEFIドライバをロードしますが、ほとんどの場合これを無視することができます。主な例外はFATファイルシステムドライバです。前述のように、MBRがない、または始めるパーティションがありますが、EFIシステム分割。 2つの間には根本的な違いがあります。前者は、BIOSファームウェアがネイティブディスクの最初のセクタを読み取り、そこで見つかったすべてのコードを実行するパーティションですが、後者はUEFIによってパーティションにマウントされているパーティションです。ファームウェア。ファイルシステムでファイルを実行します。
ESP
最大1つあります。特に各 GPT フォーマットディスクに対してラベルが付けられたパーティション。すでにGPTでフォーマットされているドライブがあるか、今後もないでしょう。クイックスタートまず窓です。現在、あなたのUSBディスクのフォーマットの種類がわかりません。一部のUEFIファームウェアでは、リムーバブルディスクはラベルを付ける必要がないため、特別なケースです。特にパーティションテーブルがまったくない場合、つまり通常はFATファイルシステムでパーティションを完全に分割したりフォーマットしたことのないUSBディスクから起動できます。これは必ずしも信頼できる機能ではありませんが、一般的です。
0000開始
ファームウェアがマウントされると特にパーティションを分割すると、すでにメモリに保存されているパスがロードされます。メモリモジュールは、ファームウェアがブート間に必要な情報を格納するオンボードNVRAMチップです。Boot0000-{GUID}
変えるあなたの場合、この変数の内容は次のとおりです。${ESP-GUID}\EFI\BOOT\BOOTx64.efi
ほぼ常にマイクロソフトの独自のブートマネージャを指します。(これはいいえ BOOTMGR.efi
、ところで - MSの起動プロセス中に表示されます)。
x64.efiブート
通常、次のことができます。
mv ${ESP}/EFI/BOOT/BOOTx64.efi ${ESP}/EFI/BOOT/BOOTx64.efi.bak
mv ./${mybootmgr}.efi ${ESP}/EFI/BOOT/BOOTx64.efi
... NVRAM変数をまったく編集する必要はありません。
NVRAM
EFIモードで起動すると、Linuxカーネルは自動的にefivarfs
カーネルモジュールをロードし、NVRAMの内容をマウントする必要があります/sys/firmware/efi/efivars
。ls
このディレクトリでは、すべてのefi変数の名前を表示できます。これは私の変数の内容ですBoot0002-{GUID}
。
printf %b $(
od -An -t o1 -w1 -v \
/sys/firmware/efi/efivars/Boot0002-* |
sed 's/ */\\0/'
)
#OUTPUT �^��~�J�3K��8���0\EFI\BOOT\BOOTX64.EF�AMBO
気にしない文字は、私のLinuxシステムのUTF-8エンコーディングではなく、UEFI UTF-16エンコーディングの結果です。とにかく、そのごみが私のものだと想像してください。ユースプのGUID。私の考えにはもうないと思います。Boot0000-{GUID}
変数 - ある瞬間削除したようです。
efibootmgr
もしそうなら、おそらくこのプログラムを使ってしたでしょうefibootmgr
。引数なしで呼び出すと、開始順序が印刷されます。
efibootmgr
#OUTPUT
BootCurrent: 0002
Timeout: 3 seconds
BootOrder: 0002,000F,000D
Boot0002* UEFI: KINGSTON SV300S37A120G
Boot000D* Hard Drive
Boot000F* CD/DVD Drive
以下はそのページの一部ですman
。
man efibootmgr 2>/dev/null |
sed '/^ *DESCRIPTION/,/^ *OPTIONS/!d;//c\\'
#OUTPUT
efibootmgr is a userspace application used to mod‐
ify the Intel Extensible Firmware Interface (EFI)
Boot Manager. This application can create and
destroy boot entries, change the boot order, change
the next running boot option, and more.
Details on the EFI Boot Manager are available from
the EFI Specification, v1.02 or later, available
from:
<URL:http://developer.intel.com>
Note: efibootmgr requires that the kernel
support access to EFI non-volatile variables
through /sys/firmware/efi/vars or
/sys/firmware/efi/efivars/.
UEFI:学ぶ
私の個人的なアドバイスはこれからフォローすることです私の他の答えそこからRodsbooks.comそこにリンクされているように、あなたgrub
は完全にあきらめます。これはあなたがすぐに知りたいと思うようにあなたの状況を不必要に複雑にすることです。ただし、起動時にファームウェアが呼び出すEFI実行可能ファイルを選択するかどうかにかかわらず、次の内容をgrub
読む必要があります。
Rodsbooks.com。
UEFIブータブルUSBの作成
次のシェルセクション(Mintのインストール中にデフォルトの選択を提供)は、MBRフラッシュドライブを独自のEFIシステムパーティションとブートマネージャを持つUEFIブータブルGPTフォーマットドライブに変換できる必要があります。少し注意を払うと、同じスティックに別のインストールを簡単に追加でき、Windowsのインストールも可能で、長期的にメンテナンスがはるかに簡単です。tar
ファイルシステムの権限を維持するためにいくつかのコマンドラインオプションを指定する必要があると感じているため、これについては少し懐疑的であることを認めています。(誰かがもっと知りたいですか?)。それでも私にとってはうまくいくようですqemu
。起動可能なUSB Mint Liveディスクから起動可能なUSB Mint Liveディスクに切り替えました。
ただし、十分なブートマネージャ(rEFIndなど)を使用してデフォルトのブータブルパーティションを設定したい場合は、次のことができます。できる現在持っているのと同じレガシー形式のブートディスクからブートします。
次のコマンドを実行する場合は、次のパスを入力する必要がありますBIG_LONG_TAR_BACKUP_LOCATION_VAR_PATH
。いいえディレクトリパスに/tmp/usbwd
そのまま作成されました。また削除このディレクトリを通過するとき。必要です。少なくともunzip
tar
、、、、gdisk
およびwget
パッケージが機能するようにインストールされましたcoreutils
。すべて試したいLinux Liveブータブルディスクにすでにインストールされている可能性がありますが、私が考えることができるすべてのパッケージマネージャを介して使用することもできます。
mkdir -p /tmp/usbwd/mintmnt; cd /tmp/usbwd; mkdir esp
wget -qO ./refind.zip \
'http://sourceforge.net/projects/refind/files/0.8.3/refind-bin-0.8.3.zip/download'
unzip -qq ./refind.zip
sudo sh -se -- "/dev/${USBDISK}" \
"${PATH_TO_A_DIR_WHERE_YOU_CAN_SAVE_A_BACKUP_OF_MINT_INSTALL}" \
<<\SUDO
mount "${1}1" ./mintmnt
tar -C ./mintmnt -czf "$2" ./; umount ./mintmnt
printf %s\\n o y n '' '' \+750M ef00 n 2 '' '' '' w y |
gdisk "${1}" || :
mkfs.vfat -n USBESP "${1}1"
./refind*/install.sh --usedefault "${1}1"
mkfs.${YOUR_FS_OF_CHOICE=ext4} -L MINTROOT "${1}2"
mount "${1}1" ./esp; mount "${1}2" ./mintmnt
mkdir ./esp/EFI/mintboot
>./esp/EFI/mintboot/refind_linux.conf \
printf %s\ \
'"Linux Mint"' \
'"root=/dev/disk/by-label/MINTROOT quiet splash"'
cd ./mintmnt && tar -xzf "$2"
>>./etc/fstab \
printf %s\\n \
'/dev/disk/by-label/USBESP /esp vfat defaults 0 1' \
'/esp/EFI/mintboot /boot none bind,defaults 0 0'
cp -T ../esp/EFI/mintboot ./boot/vmlinuz* ./boot/init*
cd ..; umount ./mintmnt; umount ./esp
SUDO
cd ~; rm -rf /tmp/usbwd
答え2
Hirenソフトウェアを使用してライブウィンドウから起動し(バージョンに関係なく)閉じます。すべての新しい設定はディスクに書き込まれ、Windowsで作成されたディスクを簡単にマウントできます。