최근에 노트북의 HDD를 SSD로 교체하고 "전체 디스크" 암호화를 변경하여 사용하기로 결정했습니다.
/boot
LVM을 사용하여 볼륨 그룹에 5개의 논리 볼륨을 생성하는 암호화되지 않은 작은 파티션과 암호화된 대규모 LUKS 파티션을 만들었습니다 .
- 하나는 Fedora(
lv_fedora
)를 설치하는 것입니다. - 하나는 스왑(
lv_swap
)용입니다. - 하나는 다른 Linux 운영 체제용입니다(
lv_os2
). - 데이터용으로 2개(
lv_data1
및lv_data2
).
문제 없이 첫 번째 OS로 Fedora를 설치했고 lv_fedora
GRUB 메뉴에서 부팅할 수 있었지만 이제 암호화된 디스크에 다른 Linux 기반 OS(Linux Mint 17)를 설치하고 Fedora의 GRUB2가 이를 감지하고 운영 체제를 부팅하도록 하는 방법을 모르겠습니다. 체계.
나는 두 가지 다른 접근 방식을 시도했습니다. 두 경우 모두 Mint가 부트로더를 설치하지 못하도록 하는 옵션을 ubiquity
사용하여 Linux Mint 설치 프로그램을 시작했습니다. 두 경우 모두 설치를 시작하기 위해 이전에 LinuxMint Live 이미지의 파일 관리자에서 LUKS 파티션을 잠금 해제하여 해당 논리 볼륨을 설치 대상으로 --no-bootloader
선택할 수 있었습니다 . lv_os2
지금:
/
먼저,lv_os2
. 성공적인 설치. Fedora에서는 GRUB 항목 업데이트를 수행했습니다grub2-mkconfig -o /boot/grub/grub.cfg
(암호화되지 않은 디스크를 사용할 때 수행했던 작업입니다). GRUB은 Linux Mint의 존재를 감지하고 해당 항목을 부팅 메뉴에 추가합니다. 문제는 나중에 이 항목으로 부팅할 수 없다는 것입니다.- 그럼 아마 그럴 거라고 생각했어[1]이는 커널 이미지가
boot
Linux Mint 파티션의 폴더에 암호화되어 있기 때문입니다. 아마도 GRUB 2는 Fedora를 처음 설치할 때처럼 암호화되지 않은 파티션에 이러한 파일을 저장해야 할 수도 있습니다(/boot
단순히 권장되는 설정이기 때문에 암호화되지 않은 파티션을 사용했습니다). 그래서 이번에는 만약을 대비해 Fedora의 파티션을 백업 하고 Linux Mint를 다시 설치했지만 커널 이미지를 해당 디렉토리에 복사하고 설치 후에 부팅할 수 있도록/boot
암호화되지 않은 파티션도 사용하도록 했습니다 ./boot
설치는 성공적이었고/boot
Linux Mint에서 추가한 "추가" 파일은 Fedora 파일을 덮어쓰지 않았으므로 최소한 Fedora는 작동하며 bakcup 을 사용할 필요가 없습니다/boot
. 그런 다음 Fedora를 시작하고grub2-mkconfig -o /boot/grub/grub.cfg
다시 실행했습니다. 이번에는 더욱 나빴습니다. GRUB은lv_fedora
Linux Mint용 커널 이미지를 로드하기 위해 Fedora(대상)에 대한 항목을 생성하는 등의 항목을 혼합합니다 . 성공하지 못한 채 이러한 항목을 수동으로 수정해 보았습니다.
내가 뭔가 잘못한 것 같아요. 보조 Linux OS를 암호화된 볼륨에 설치하고 기본 Linux OS가 부트로더를 처리하도록 하는 더 좋은 방법이 있습니까? (보조 운영 체제에서 부팅할 수 있도록 GRUB 항목 업데이트)
[1]: 보시다시피 저는 노력하고 배우는 중일 뿐, 해당 주제에 대한 깊은 이해가 없습니다.
답변1
내가 읽은 모든 것에서 이것은 initramfs를 "커널에 내장하고 부팅 프로세스 초기에 로드"하는 것으로 요약됩니다.1
Mint의 /etc/crypttab
경우 update-initramfs
.2
내가 이해한 바에 따르면 이것은 이미 설치된 것으로 보이는 Mint를 설치한 후 initramfs 이미지를 생성하기 위한 가이드 역할을 해야 합니다. 이것이 모든 내용을 다루기를 바라지만, 각 섹션을 직접 조사해 보시기 바랍니다.
라이브 런칭 민트, mount
그리고 chroot
Mint를 설치한 파티션입니다.삼
생성 및 구성 /etc/crypttab
시작 시 잠금 해제됩니다.4/dev/mapper/lv_os2
이것은 귀하의 질문 에 따라 Mint가 설치된 lvm 경로를 추가하는 곳입니다./dev/<big encrypted LUKS>/lv_os2
5
내가 본 대부분의 예 는 /etc/crypttab
다음과 같습니다
root /dev/mapper/lv_os2 none luks
. 4개 필드는 Mint를 설치하기 위해 선택한 lvm 경로, none
시스템 시작 시 수동으로 입력할 비밀번호 설정, luks
LUKS 모드 강제 실행이지만 불필요한 것 같습니다.
옵션 필드에 모드가 지정되지 않고 블록 장치에 LUKS 서명이 포함되어 있으면 LUKS 장치로 열립니다. 그렇지 않으면 원시 dm-crypt(일반 모드) 형식이 가정됩니다.
구성 /etc/fstab
/dev/mapper/<name>
방금 생성한 디렉토리를 /etc/crypttab
루트 디렉토리로 마운트합니다 /
. 예를 들면
/dev/mapper/<name> / <fs_vfstype> <fs_mntops>
다음과 같습니다 man fstab
.
일단 가지고 있으면 /etc/crypttab
원하는 대로 구성 하면 부팅 이미지를 빌드/업데이트하는 /etc/fstab
데 사용할 수 있습니다 .update-initramfs
바라보다 man update-initramfs
. uname -r
Mint에 표시된 특정 커널 버전을 사용하는 것이 가장 좋습니다 . 명령은 비슷하게 보일 것입니다. update-initramfs -u -k 3.11.0-26-generic
커널 버전을 자신의 버전으로 바꾸십시오.
이 지점에서grub2-mkconfig -o /boot/grub/grub.cfg
, Fedora를 다시 시작하고 Mint가 이전에 감지한 옵션을 시도해 볼 수 있습니다 . 그래도 작동하지 않으면 GRUB 매뉴얼의 멀티부트 수동 구성을 따르십시오.6
특히 이 부분은:
GRUB 도구는 모든 운영체제에 설치되지만, 부트섹터에 GRUB 설치는 금지되어 있으므로 menu.lst, grub.cfg를 이용하시면 됩니다. 설정을 사용하여 os-prober를 비활성화할 수도 있습니다.
GRUB_DISABLE_OS_PROBER=true
존재하다
/etc/default/grub
이것이 Mint를 시작하는 데 필요한 대부분의 내용을 다루기를 바랍니다.
답변2
"어떻게"라는 질문에 실제로 대답하지는 않지만 통찰력을 제공해야 하며 설명을 하기에는 너무 깁니다.
첫째, 암호화된 파티션에서는 부팅할 수 없습니다. 그 이유는 스타트업 체인이 프로세스 후반부에서만 암호화를 이해하기 때문입니다.
하드웨어는 펌웨어(일반적으로 UEFI BIOS(x86 플랫폼))를 로드합니다. 이러한 하드웨어는 완전히 데이터에 구애받지 않습니다. 일부 영구 저장소(미리 정의된 주소)에 있는 모든 것을 로드할 뿐입니다.
펌웨어는 부트로더를 로드하거나 커널을 직접 로드합니다. CPU와 마찬가지로 가능한 암호화 모드에 대해 아무것도 모릅니다(할 수 없다는 것은 아니지만 일반적으로 그렇지 않습니다).
부트로더가 관련된 경우 커널(또는 Windows를 부팅할 때와 같이 연결된 부트로더)을 로드하고 일반적으로 초기 램디스크(독립 실행형 파일에 있거나 커널 이미지에 포함될 수 있음)도 로드합니다. 예를 들어 GRUB2는 LUKS 장치에서 부팅할 수 있어야 하지만 문서는 다음과 같은 것 같습니다.꽤 부족하다.
커널은 루트 파일 시스템을 마운트하고 실행합니다
init
(System V init,,,systemd
...OpenRC
중에서 선택할 수 있는 것이 많습니다upstart
).초기 램디스크로 부팅하는 경우 먼저 메모리로 확장된 다음 거기에서 init 시스템이 설치되어 실행됩니다. initramfs에는 올바른 루트 파일 시스템을 마운트하는 데 필요한 모든 것이 포함되어야 합니다. 일반적으로 여기에는 사용 가능한 모든 드라이버(예: 최종 rootfs가 RAID 장치에 있을 때 필요한 RAID 드라이버), 그래픽 부팅 인프라가 포함되어 있습니다. 이는 일반적으로 최소를 의미합니다(또는 그렇게 최소가 아님). X11 스택 - 일반적으로 암호화된 파티션을 마운트하기 위한 도구입니다. 모든 설정이 완료되면 init 시스템이 마침내 rootfs에 마운트되고 initramfs에서 실행됩니다
pivot_root()
(참조:pivot_root(8)
그리고pivot_root(2)
/
자세한 내용은 매뉴얼 페이지 참조) 올바른 파일 시스템으로 전환하세요 .
이제 암호화된 볼륨을 부팅하는 가장 쉬운 방법은 일반적으로 5단계에서 암호화 설정을 수행하는 것입니다. 주로 실행될 커널에 의해 수행되고 괜찮은 최신 배포판에서 제공되는 인프라를 사용할 수 있기 때문입니다.
따라서 Fedora와 Mint가 암호화된 볼륨에서 실제로 어떻게 부팅하는지 알고 싶을 수도 있습니다. 예를 들어, 문제에 대한 해결책은 Mint 커널에 적합한 initramfs 이미지를 생성하는 것일 수 있습니다. 부팅한 커널에 따라 올바른 rootfs를 조건부로 마운트하는 한 두 커널에 대해 하나의 initramfs를 사용할 수도 있습니다. 하지만 권장하지는 않습니다. 특히 다른(예: 재고) 커널을 사용하기로 결정한 경우에는 더욱 그렇습니다. 각 배포 커널에 대해.
즉, 실제로 두 설치를 병렬로 설치할지 여부를 고려할 수도 있습니다. 하나의 가상화를 실행하는 것이 더 편리할 수도 있습니다.