BIOS設定なしでUbuntuで再起動

BIOS設定なしでUbuntuで再起動

Ubuntu 22とWindows 11がインストールされ、起動優先順位がWindowsで起動するように設定されているリモートPC(チームビューアを介して接続)があります。私は現在Ubuntu 22で起動しており、CUDAの問題のためにコンピュータを再起動する必要があります。現在PCに物理的にアクセスできる人がいないため、Ubuntu自体のブート優先順位を変更してUbuntuで再起動する方法はありますか?問題は一度だけ試すことができるということです。失敗した場合は、Windowsで起動し、まだリモートアクセスは可能ですが、そのようなことが発生したくありません。

ありがとう、

GRUB設定を確認してみると以下のように「0」に設定されていますが、

GRUB_DEFAULT=0 GRUB_TIMEOUT_STYLE=hidden GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""

注:以下は私が経験したCUDAの問題です。誰かが再起動せずに問題を解決する方法を知っていれば、それも問題ありません。

AlexyAB Darknet YoloV4を設定しましたが、うまくいきましたが、今日は突然次のエラーが発生しました。前回同じ状況が発生したときにシステムを再起動する必要があり、すべてがうまく機能しました。

間違い:

Darknet error location: ./src/dark_cuda.c, cuda_set_device(), line #38 CUDA Error: no CUDA-capable device is detected: Bad file descriptor backtrace (8 entries) 1/8: ./darknet(log_backtrace+0x38) [0x5593a5171208] 2/8: ./darknet(error+0x3d) [0x5593a51712ed] 3/8: ./darknet(check_error+0xd0) [0x5593a5173be0] 4/8: ./darknet(check_error_extended+0x7c) [0x5593a5173ccc] 5/8: ./darknet(main+0x28d) [0x5593a51306cd] 6/8: /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f61655d4d90] 7/8: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f61655d4e40] 8/8: ./darknet(_start+0x25) [0x5593a51329f5]

"nvcc --version"の出力:nvcc:NVIDIA(R)Cudaコンパイラドライバ著作権(c)2005-2023 NVIDIA Corporation Fri_Sep__8_19:17:24_PDT_2023 Cudaコンパイルツール、バージョン12.3、V12.3.52ビルド.3/コンパイラ.33281558_0

答え1

Windows 11を使用しているため、システムはUEFIモードで起動する必要があります。したがって、このsudo efibootmgr -vコマンドを使用して、Linuxで起動順序やその他の起動設定を表示できます。

次のように出力する必要があります。

BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0002,0000,0006,0005,0001,0003,0007
Boot0000* Windows Boot Manager  HD(1,GPT,12345678-9abc-def0-1234-56789abcdef0,0x800,0x82000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.8.7.6.5.4.3.2.-.1.0.f.e.-.d.c.b.a.-.9.8.7.6.-.5.4.3.2.1.0.f.e.d.c.b.a.}...d................
Boot0001* UEFI:CD/DVD Drive     BBS(129,,0x0)
Boot0002* rEFInd Boot Manager   HD(1,GPT,12345678-9abc-def0-1234-56789abcdef0,0x800,0x82000)/File(\EFI\REFIND\REFIND_X64.EFI)
Boot0003* UEFI:Removable Device BBS(130,,0x0)
Boot0004* debian        HD(1,GPT,12345678-9abc-def0-1234-56789abcdef0,0x800,0x82000)/File(\EFI\DEBIAN\SHIMX64.EFI)
Boot0005* UEFI: PXE IP4 Intel(R) Ethernet Connection (7) I219-V PciRoot(0x0)/Pci(0x1f,0x6)/MAC(0123456789ab,0)/IPv4(0.0.0.00.0.0.0,0,0)..BO
  • BootCurrent:この行は、現在のオペレーティングシステムの起動に使用されている行番号を表します。BootNNNN
  • この行は、システムの起動時に各行でBootOrder:指定されたさまざまな起動ターゲットが試行される順序を指定します。BootNNNN
  • UUID文字列は、12345678-9abc-def0-1234-56789abcdef0各行に指定されたブートローダファイルを含むESPパーティションの実際のPARTUUIDですBootNNNN

この例では、Windowsのデフォルトのブートマネージャはoptionなので、システムがデフォルトでBoot0000Windowsから起動するように設定されている場合、これが最初のエントリになりますBootOrder0000GRUBがデフォルトでUbuntuを起動するように構成されている場合、Windowsのデフォルトの起動設定はUEFI起動設定にあるはずです。

このサンプルシステムは現在デフォルトでDebianで起動するように設定されており、これがサンプル出力の生成を開始する方法です。

sudo efibootmgr --bootnext NNNNシステムにUbuntuで一度だけ起動するように指示するには、NNNNがBootNNNNUbuntu GRUBが実行されている行番号である場所を使用できます。

特に明示的に指示しない限り、システムにUbuntuをデフォルト値に保つように指示するには、sudo efibootmgr --bootorder XXXX,YYYY,ZZZZ....XXXX、YYYY、ZZZZは現在その行にリストされている起動オプションの番号ですBootOrder:Ubuntu行番号が最初の行になるように並べ替えます。

つまり、このサンプルシステムがWindowsを一度だけ起動し、その後起動時にデフォルトのDebianに戻るようにします。

sudo efibootmgr --bootnext 0000

設定が再び変更されるまでサンプルシステムをWindowsから起動するには、次の手順を実行します。

sudo efibootmgr --bootorder 0000,0004,0002,0006,0005,0001,0003,0007

理論的には、ブートシーケンス行から不要なアイテムを削除することができますが、いくつかのバグを持つUEFI実装では、不足しているアイテムをランダムな順序でブートシーケンスの末尾に追加できます。私の経験では、緊急の必要がない場合は、ブート順序を減らしたり増やすよりも、ブート順序を再調整するのが最も安全な方法です。

関連情報