![Linux 부팅 중 ESP에서 파일을 덮어쓰는 방법](https://linux55.com/image/35785/Linux%20%EB%B6%80%ED%8C%85%20%EC%A4%91%20ESP%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%8D%AE%EC%96%B4%EC%93%B0%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
저는 Windows 7과 Linux Mint 17 Cinnamon을 실행하는 64비트 이중 부팅 시스템을 가지고 있습니다. rEFInd를 사용하여 부팅할 시스템을 그래픽으로 선택합니다.
rEFInd에 대한 일부 정보:
- EFI 부트로더입니다.
- 외부 텍스트 기반 구성 파일(*.conf)을 사용합니다.
- 구성 파일은 다른 파일을 참조할 수 있습니다. 그러나 런타임에는
refind.conf
첫 번째 파일( )에서 참조하는 외부 파일만 존중됩니다. - 특정 속성에 대한 여러 참조는 계단식으로 처리됩니다. 즉, 각 참조는 이전의 모든 참조를 덮어씁니다.
...efi 드라이브에 일부 구성 파일이 저장되어 있습니다. (efi) 시작 시 다음 구성 파일이 로드됩니다.
refind.conf
- 기본 상용구 설정 파일. 이 파일은 다음 두 파일을 순서대로 참조합니다.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가 부팅됩니다.
나는해야한다리눅스auto_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 데스크탑 컨텍스트 메뉴의 항목을 미러링하는 두 개의 컨텍스트 메뉴 항목("Windows로 부팅" 및 "Linux 다시 시작")을 Linux 데스크탑에 갖고 싶습니다.
최종 결과는 다른 운영 체제를 통합할 수 있는 확장성과 함께 한 운영 체제에서 다른 운영 체제로의 원활한 워크플로를 갖게 되는 것입니다.
추신: 내 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 작업을 생성하는 것입니다.