私はWindows 7とLinux Mint 17 Cinnamonを実行する64ビットデュアルブートシステムを持っています。 rEFIndを使用して、起動するシステムをグラフィカルに選択します。
rEFIndに関するいくつかの情報:
- EFI ブートローダです。
- 外部テキストベースの構成ファイル(* .conf)を使用します。
- 構成ファイルは他のファイルを参照できます。ただし、実行時には、
refind.conf
最初のファイル()によって参照される外部ファイルのみが尊重されます。 - 特定の属性への複数の参照はカスケード処理されます。つまり、各参照は以前のすべての参照を上書きします。
... efiドライブにいくつかの設定ファイルが保存されています。 (efi)起動時に次の設定ファイルがロードされます。
refind.conf
- デフォルトの定型句設定ファイル。このファイルは、次の2つのファイルを順番に参照します。settings.conf
- 私の好きな設定のためのきれいなシングルスレートです。これは Refind.conf で参照されます。ここのすべての設定は Refind.conf をオーバーライドします。auto_settings.conf
- プログラムで動的に処理できる設定が含まれています。また、引用されましたrefind.conf
。ここにあるすべての設定は無視されますrefind.conf
。
これらのファイルに加えて、次のようにプログラム的に置き換えられる代替ファイルがありますauto_settings.conf
。
auto_default.conf
- これにより、このファイルの内容が含まれるとauto_settings.conf
システムがデフォルト状態になります。これにより、起動時にメニューが表示され、WindowsとLinuxの間で選択するように求められます。システムは私の入力を待ちます。auto_mint.conf
- このファイルの内容がrefind.confに含まれると、rEFIndはGUIメニューをスキップしてLinux Mintを直接実行します。auto_win7.conf
- rEFIndは、このファイルの内容がrefind.confに含まれている場合、GUIウィンドウとスタートウィンドウをスキップします。
これがこの問題を解決するためにrEFIndについて知る必要があるすべてです。
次に、システムは次のようになります。
システムを起動すると、どのオペレーティングシステムをロードするかを尋ねられます。私がウィンドウを選択すると仮定しましょう。
Windowsが起動します。
それではLinuxに入りたいです。
デスクトップを右クリックし、「Boot to Linux」をクリックできます。
レジストリを使用してデスクトップのコンテキストメニューにエントリを作成し、カスタムバッチファイルを実行しました。また、このレジストリキーは、実行時にその機能を表すために呼び出されたときにバッチファイルに特定のパラメータを渡します。
だから今この瞬間、私のバッチファイル(愛称でbootfacilitator.bat
)は私の役割を見事に遂行しています。 EFIパーティションでは、マイバッチファイルの内容を置き換えますauto_default.conf
。auto_mint.conf
操作が成功すると、システムは再起動します。
その上によると始める
bootfacilitator
透明とも呼ばれるウィンドウは、 の
内容を の内容に置き換えるために使用される機能でした。auto_settings.conf
auto_default.conf
システムがシャットダウンされ、rEFInd で起動します。これによりGUIがスキップされ、Linuxが起動します。
しなければならないLinuxauto_settings.conf
の内容をの内容に置き換えてauto_default.conf
ください。それ以外の場合は、Linux専用のブートシナリオに閉じ込められます。私は好きではありません。私がしなければならないのは、起動時にファイルの内容を変更することだけです。
bootfacilitator.sh
()にスクリプトが含まれています/mnt/data/Backup/Software/Linux
。
Linuxでは、の内容をの内容にbootfacilitator.sh
置き換える必要があります。/mnt/efi/EFI/boot/auto_settings.conf
/mnt/efi/EFI/boot/auto_default.conf
さらに、このプロジェクトには別の目標もあります。また、Windowsデスクトップコンテキストメニューの項目をミラーリングする2つのコンテキストメニュー項目(「Windowsで起動」と「Linuxを再起動する」)をLinuxデスクトップに持ちたいと思います。
最終結果は、他のオペレーティングシステムを統合できるスケーラビリティと、あるオペレーティングシステムから別のオペレーティングシステムへのシームレスなワークフローを持つことです。
PS:私のfstab:
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/sda1 /mnt/efi vfat defaults 0 0
UUID=f9750eee-576b-46b2-a0a1-f6ad34f4d526 / ext4 errors=remount-ro 0 1
UUID=1f49ddc3-88d1-40e6-b706-7623a4fb47ac none swap sw 0 0
/dev/sda4 /mnt/osx hfsplus defaults 0 0
/dev/sda3 /mnt/win_7 ntfs defaults 0 0
/dev/sda5 /mnt/data ntfs defaults 0 0
/mnt/data/Videos /home/rich/Videos none bind 0 0
/mnt/data/Documents /home/rich/Documents none bind 0 0
/mnt/data/Music /home/rich/Music none bind 0 0
/mnt/data/Pictures /home/rich/Pictures none bind 0 0
/mnt/data/Downloads /home/rich/Downloads none bind 0 0
/mnt/data/Public /home/rich/Public none bind 0 0
bootfacilitator.sh
:
#!/bin/sh
#description: Re-Enables EFI multi-select boot menu (in case of forced selection scenario)
sudo cp /mnt/efi/EFI/Boot/auto_default.conf /mnt/efi/EFI/Boot/auto_settings.conf
ベストアンサー1
これを達成する方法はいくつかあります。
- から
.desktop
ファイルを作成します~/.config/autostart/
。ログインすると実行されます。私たちは注文に似ていますsudo cp input.txt output.txt
。 - より強力な解決策は、システムの起動時に実行されるUpstartジョブを作成することです。