雙啟動腳本

雙啟動腳本

我正在ubuntu 伺服器中運行檔案伺服器,與Windows 7 雙啟動,現在我想要可以在午夜重新啟動伺服器並啟動到Windows 7 的腳本,並且我在Windows 7 中放置了一些自訂腳本,以便它可以在晚上執行windows 7 早上再次啟動伺服器時,它將自動啟動 ubuntu 伺服器

請指導我透過腳本執行它

提前致謝。

答案1

這是您應該能夠使用的解決方案。它並不漂亮,需要一些工作,並且可能會有所不同,具體取決於您使用的 Ubuntu 版本。我用 16.04 想出了這個。我還剛剛測試了它是否可以啟動到不同的內核,因為我的機器上沒有安裝 Windows。由於您有雙啟動,我必須假設您已經顯示了一個 grub 選單,並且希望主選單中有一個 Windows 項目,而不是在子選單中(我稍後會介紹)。

首先你需要編輯你的/etc/default/grub文件

GRUB_DEFAULT="#"尋找可能為 0 的GRUB_DEFAULT="saved"條目。GRUB_SAVEDEFAULT="true"

它應該如下所示:

GRUB_DEFAULT="saved"
GRUB_SAVEDEFAULT="true"
...and so on...

保存檔案並在終端機運行sudo update-grub

現在到了我猜測的部分。當您啟動電腦並在 GRUB 選單中...在我用來測試的 VM 盒子上顯示以下項目

Ubuntu
Advanced options for Ubuntu
Memory test (memtest86+)
Memory test (memtest86+,serial console)
Test1

我必須創建這個Test1 entry才能工作,但我有一種感覺,你Windows entry在這個清單上有一個地方,但我不知道它落在哪裡。您需要計算該選單項目在清單中的位置。例如,如果你的Windows entry位置是我的位置Test1 entry,那麼它將位於位置 4(Ubuntu 位於位置 0 而不是 1)

現在我們需要建立一個文件..我將startwin在本範例中使用startwin您最喜歡的編輯器開啟並輸入以下內容:

#!/bin/bash
grub-reboot 4 
reboot now

(當然 4 是您確定的Windows entry位置的任何數字)保存檔案並打開終端。變更到所在目錄startwin並確保其設定為可執行。

sudo chmod +x startwin

現在您已準備好嘗試..打開終端,更改為文件所在的目錄,然後輸入“sudo ./startwin當然”,保存所有工作並關閉所有打開的內容,因為這將重新啟動計算機。它應該在 Windows 中啟動,當您告訴 Windows 重新啟動時,它應該再次返回 Ubuntu。

如果它有效,你所要做的就是設定一個 cron 作業讓它在午夜運行。

編輯/etc/crontab在底部新增條目

00 00 * * * root path/to/startwin/startwin

並建立一個 Windows 任務,當你希望它像早上 7 點一樣切換回 Ubuntu 時重新啟動。

現在,早上 7 點,您的 Windows 任務將自動重新啟動到 Ubuntu,而在午夜,您的 Ubuntu 腳本將自動重新啟動到 Windows。

相關內容