Có ai có gợi ý về cách di chuyển phân vùng gốc sang ổ đĩa mới và thiết lập grub2 để khởi động trên ổ đĩa đó không? Tôi dường như không có may mắn hướng dẫn grub-mkconfig những gì tôi muốn làm (ví dụ: chroot'int vào root mới của tôi chỉ làm lẫn lộn tất cả các tập lệnh).
Bối cảnh Tôi đang chạy Debian Squeeze trên một NAS công suất thấp không đầu. Thiết lập hiện tại của tôi là /
bật sda0
và /boot
bật sde0
(thẻ CF): Tôi cần tách riêng /boot
vì sd[a-d]
cần thực hiện thao tác quay chậm. Bây giờ tôi đã tìm thấy một đĩa IDE 2,5 "cũ để sử dụng /
bao gồm cả /boot
cho phép tôi quay tất cả các đĩa lớn xuống.
Những gì tôi đã cố gắng Về cơ bản tôi đã đi
mount -o rw /dev/sdf5 /mnt/newroot
cp -ax / /mnt/newroot
cp -ax /boot /mnt/newroot/boot
Sau đó tôi đã thử
chroot /mnt/newroot
update-grub
Nhưng điều đó đã thất bại với grub hỏi nếu root được gắn kết. Sau đó, tôi đã thực hiện một nỗ lực nửa vời trong việc thiết lập /mnt/newroot/grub/grub.cfg
để tìm hình ảnh hạt nhân trên sdf5
, theo sau là a grub-install --root-directory=/mnt/newroot /dev/sdf
. Nhưng điều này chỉ mang lại cho tôi một dấu nhắc cứu hộ khi tôi cố gắng khởi động từ sdf
.
Kế hoạch dự phòng của tôi là chỉ cài đặt lại, vì vậy một câu hỏi về phần thưởng (không có dấu kiểm cho cái này): Tôi phải làm gì để có được cấu hình lvm2 và mdadm của mình? Có phải tất cả được lưu trữ trong các hệ thống tập tin (và nó sẽ được tự động phát hiện) hay tôi cần phải tự mình lấy nó?
Giải pháp (nhờ Maciej Piechotka): Như Maciej chỉ ra, tôi cần phải có một chroot thích hợp cho tất cả các công cụ grub hoạt động. Để tham khảo, đây là cách tôi đã làm:
janus@nasguld:/mnt/newroot$ sudo cp -ax / /mnt/newroot
janus@nasguld:/mnt/newroot$ sudo cp -ax /boot /mnt/newroot
Tất cả các tệp hiện được sao chép (xem tại đây để thảo luận về các chiến lược sao chép). Sửa lỗi mới etc/fstab
để trỏ đến root mới:
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
Cuối cùng, gắn kết dev
, sys
và proc
đến root và chroot mới:
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 .
Chúng tôi hiện đang được chọn để root tương lai chính xác như nó sẽ nhìn. Theo Maciej, chỉ cần gọi là được grub-install
, nhưng tôi đã làm một cái update-grub
đầu tiên để xem cái được tạo /boot/grub/grub.cfg
trước khi cài đặt bộ nạp khởi động. Tôi không chắc chắn nó sẽ được tự động cập nhật?
root@nasguld:/# update-grub
root@nasguld:/# grub-install /dev/sdb
/etc/fstab
trong chroot
(điều này sẽ phù hợp với việc update-grub
phàn nàn rằng "\ không được gắn kết"). Tôi đã làm điều này một lần nữa, tôi sẽ thử trước mà không bận tâm đến việc gắn các hệ thống tập tin đặc biệt trong chroot.
/etc/default/grub
và bảng điểm chính xác từupdate-grub
.