듀얼 부팅 스크립트

듀얼 부팅 스크립트

Windows 7을 사용한 이중 부팅을 사용하여 우분투 서버에서 파일 서버를 실행하고 있습니다. 이제 자정에 서버를 다시 시작하고 Windows 7을 시작할 수 있는 SCRIPT를 원하며 Windows 7에 일부 사용자 정의 스크립트를 넣어 밤에 실행할 수 있도록 했습니다. Windows 7을 사용하고 아침에 다시 서버를 시작하면 우분투 서버가 자동으로 시작됩니다.

스크립트를 통해 실행하도록 친절하게 안내해 주세요.

미리 감사드립니다.

답변1

다음은 함께 작업할 수 있는 솔루션입니다. 예쁘지 않고 약간의 작업이 필요하며 사용 중인 Ubuntu 버전에 따라 다를 수 있습니다. 나는 16.04를 사용하여 이것을 생각해 냈습니다. 또한 이 상자에는 Windows가 설치되어 있지 않기 때문에 다른 커널로 부팅하기 위해 이것을 테스트했습니다. 듀얼 부팅을 사용하고 있으므로 이미 grub 메뉴가 표시되어 있고 나중에 설명할 하위 메뉴가 아닌 기본 메뉴에 Windows 항목이 있다고 가정해야 합니다.

/etc/default/grub먼저 파일을 편집해야 합니다.

아마도 0일 가능성이 있는 항목을 찾으십시오 GRUB_DEFAULT="#". 이를 읽도록 변경하고 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는 위치 1이 아닌 0에 있습니다).

이제 파일을 만들어야 합니다. 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

오전 7시처럼 Ubuntu로 다시 전환하려는 경우 Windows 작업을 재부팅하도록 설정하세요.

이제 오전 7시에 Windows 작업이 자동으로 Ubuntu로 재부팅되고 자정에 Ubuntu 스크립트가 자동으로 Windows로 재부팅됩니다.

관련 정보