FreeBSD 부트로더가 올바른 풀에서 부팅되지 않습니다

FreeBSD 부트로더가 올바른 풀에서 부팅되지 않습니다

두 개의 ZFS 풀이 있고 부트로더만 포함된 다른 하드 디스크에서 부팅되는 시스템에 FreeBSD 10.1을 설치했습니다. 메인 풀 디스크는 PCI-E 카드의 SATA 포트에 연결되어 있지만 부트로더는 잘못된 풀(마더보드의 SATA 포트에 직접 연결된 두 번째 풀)에서 부팅을 시도합니다.

오류는 다음과 같습니다.

Can't find /boot/zfsloader
FreeBSD/x86 boot
Default: storage:/boot/kernel/kernel
boot:
/
Cant't find /boot/kernel/kernel
FreeBSD/x86 boot
Default: storage:/boot/kernel/kernel
boot: 

/mnt/boot/loader.conf에서 vfs.root.mountfrom="zfs:zpool" 또는 "zfs:zpool/ROOT"를 설정하려고 했지만 작동하지 않습니다.

두 번째 풀의 디스크를 분리하면 시스템이 올바르게 부팅됩니다.

정말 감사합니다.

답변1

좋아, 그건 내가 직접 알아냈어.

ZFS 로더는 부팅할 루트 풀을 설정할 수 없지만 부팅 우선 순위에 맞게 BIOS를 풀링하여 올바른 풀을 추측하려고 시도합니다.

올바른 풀에서 부팅되도록 하기 위해 부트로더가 포함된 드라이브를 BIOS의 첫 번째 부팅 장치로 설정하고 루트 미러링 풀에 속한 드라이브를 두 번째와 세 번째로 설정했습니다.

답변2

cp -r /boot올바른 풀에서 잘못된 풀로 시도해 보십시오 . bootfs잘못된 풀의 속성이 비어 있거나 올바른 풀로 설정되어 있는지 확인하세요 .

답변3

적절한 배포 CD에서 "라이브 CD" 모드로 부팅합니다. 루트로 로그인하십시오.

이제 부팅 가능한 풀을 "탱크"라고 가정해 보겠습니다.

풀을 마운트하지 않고 가져오기 -

zpool import -N -f tank

그런 다음 bootfs 속성을 적절하게 설정하십시오. 일반적인 부팅 파일 시스템 이름은 "tank/ROOT/default"입니다.

zpool set bootfs=tank/ROOT/default tank

이것이 바로 부팅 가능한 풀입니다. 부팅할 수 없는 풀에 대해 반복합니다. 이번에는 bootfs 속성을 ""로 설정합니다. 이제 끝났습니다.

관련 정보