루트 파티션을 새 드라이브로 옮기고 해당 드라이브에서 부팅하도록 grub2를 설정하는 방법에 대한 제안이 있습니까? grub-mkconfig에게 내가하고 싶은 일을 지시하는 것은 운이없는 것 같습니다 (예 : 새 루트에 chroot'int는 모든 스크립트를 혼란스럽게합니다).
배경 헤드리스 저전력 NAS에서 데비안 스퀴즈를 실행하고 있습니다. 현재 설정이 /
켜져 sda0
있고 /boot
켜져 있습니다 sde0
(CF 카드) : 지연된 스핀 업을 수행해야 /boot
하므로 별도로 sd[a-d]
필요했습니다. 지금은로 사용할 오래된 2.5 "IDE 디스크를 발견했습니다 /
포함하여 /boot
나에게 모든 큰 디스크를 스핀 다운 할 수 있도록.
내가 시도한 것은 기본적으로 갔다
mount -o rw /dev/sdf5 /mnt/newroot
cp -ax / /mnt/newroot
cp -ax /boot /mnt/newroot/boot
그런 다음 시도했습니다
chroot /mnt/newroot
update-grub
그러나 루트가 마운트되었는지 묻는 grub으로 실패했습니다. 그럼 설정에 마음이 내키지 않는 시도했던 /mnt/newroot/grub/grub.cfg
에 커널 이미지 찾기 위해 sdf5
a로 다음을 grub-install --root-directory=/mnt/newroot /dev/sdf
. 그러나 나는 부팅을 시도했을 때 grub 구조 프롬프트를 보았습니다 sdf
.
내 백업 계획은 단지 다시 설치하는 것이므로 보너스 질문 (이것에 대한 확인 표시 없음) : lvm2 및 mdadm 구성을 가져 오기 위해 어떻게해야합니까? 파일 시스템에 모두 저장되어 있습니까 (그리고 자동으로 검색됩니까) 아니면 직접 가져와야합니까?
해결책 (Maciej Piechotka 덕분에) : Maciej가 지적했듯이 모든 그럽 도구가 작동하려면 적절한 chroot가 필요합니다. 참고로, 이것이 내가 한 방법입니다.
janus@nasguld:/mnt/newroot$ sudo cp -ax / /mnt/newroot
janus@nasguld:/mnt/newroot$ sudo cp -ax /boot /mnt/newroot
이제 모든 파일이 복사되었습니다 ( 복사 전략에 대한 설명 은 여기 참조 ). etc/fstab
새로운 루트를 가리 키도록 new 를 수정하십시오 .
janus@nasguld:/mnt/newroot$ diff -u etc/fstab.old etc/fstab
-UUID=399b6a6d-c067-4caf-bb3e-85317d66cf46 / ext3 errors=remount-ro 0 1
-UUID=b394b614-a977-4860-bbd5-7862d2b7e02a /boot ext3 defaults 0 2
+UUID=b9d62595-e95c-45b1-8a46-2c0b37fcf153 / ext3 noatime,errors=remount-ro 0 1
마지막으로, 마운트 dev
, sys
그리고 proc
새로운 루트 및되는 chroot :
janus@nasguld:/mnt/newroot$ sudo mount -o bind /dev /mnt/newroot/dev
janus@nasguld:/mnt/newroot$ sudo mount -t proc none /mnt/newroot/proc
janus@nasguld:/mnt/newroot$ sudo mount -t sysfs none /mnt/newroot/sys
janus@nasguld:/mnt/newroot$ sudo parted /dev/sdb set 5 boot on
janus@nasguld:/mnt/newroot$ sudo chroot .
우리는 이제 보이는대로 정확하게 미래의 뿌리에 뿌리를 내 렸습니다. 마치에이에 따르면, 그냥 전화로 확인을해야 grub-install
AN,하지만 내가 그랬어 update-grub
생성을 살펴 얻을 첫번째 /boot/grub/grub.cfg
부트 로더를 설치하기 전에. 자동으로 업데이트되는지 확실하지 않습니까?
root@nasguld:/# update-grub
root@nasguld:/# grub-install /dev/sdb
/etc/fstab
에서 chroot
(이 일치 될 것 update-grub
"마운트되지 \"불평). 다시이 작업을 수행 한 경우, chroot에 특수 파일 시스템을 마운트하지 않고 먼저 시도합니다.
/etc/default/grub
과의 정확한 사본을 게시하십시오update-grub
.