次回の起動OSの予約について

grubのローダはインストール時はsdaの先頭部分にインストールしたくはなかった。なのでsda5の先頭部分に入っていてノートPCの入電源時はwindows7のOS選択画面→grubの起動OSの選択画面という順序で納得していたが、次回の起動OSの予約と言った動作が可能になる可能性があるので、sdaの先頭部分にgrubをインストールしなおした。なの現在はgrubが起動しwindowsを選択するとwindowsのOS選択画面という順序になる

grub をインストールしたlinux 環境側

  1. "grub-reboot n"をroot権限(パスワードの入力)無しに実行できるようにする為、/boot/grub/grubenv のファイルのみ書込のアクセス権をchmodコマンドで緩くする。
  2. "grub-reboot n"の実行が通用しない時はgrub-editenv や grub-set-defaultなどgrubenvファイルの内容を変更する関連のコマンドでnext_entryの要素を追加し直してからgrub-reboot n を実行する。
  3. set-nextboot-win.desktop とか set-nextboot-ubu.desktop とかのファイル (実行内容は grub-reboot n)のファイルを作ってデスクトップにリンクを張るか、ランチャに登録する

Windows

  1. grub をインストールしたlinux 環境を予め /boot 部分がFAT32パーティションのシステムにしておくことが想像される(未確認)、その方法以外では以下の方法を取る
  2. paragon の ExtFs for windows をインストールし、そのままでは自動でドライブレターが振られ、不便なので再起動後、ExtFs の管理画面を出して、起動時に自動でマウントしないように設定のチェックをオフする
  3. cmd.exe の窓を開き、"C:\Program Files (x86)\Paragon Software\Paragon ExtFS for Windows\extmounter.exe" /list を実行して マウントしたいディスクを確認 ( diskX と volumeY のXとYの番号)
  4. 起動時に何らかの実行するバッチファイルに以下の行を追加 (以下は例)

"C:\Program Files (x86)\Paragon Software\Paragon ExtFS for Windows\extmounter.exe" /mount disk0 volume1 L:
(※L: は /boot を含むパーティションのドライブ)

  1. windowsから L:\boot\grub\grubenv のnext_entry=n (n=次回起動したいOSのgrub上の論理的番号) を書換えるスクリプトかバッチを書く

作業のためにやっておいたこと

  • 入れたOSのすべてイメージ単位のバックアップ

問題点

  • 起動時に environment block なんちゃらエラー等と出るが放っておくと起動してくれるので割り切る!!!
  • 偶に デスクトップのログイン中にもエラーのダイアログが出るが割り切る