저는 데비안 리눅스 머신을 만들었습니다. 압축된 tar 파일 형식으로 전체 하드 드라이브의 "이미지"를 캡처했습니다. 그런 다음 다른 컴퓨터에 압축을 풀고 부팅할 수 있도록 grub을 설정했습니다.
내가 겪고 있는 문제는 디스크 UUID가 원래 디스크 UUID와 다르기 때문에 디스크가 읽기 전용으로 마운트된다는 것입니다. 나중에 /etc/fstab에서 올바른 UUID를 구성하여 이 문제를 해결할 수 있지만 이 문제는 피하고 싶습니다.
다른 컴퓨터에 압축을 풀 때 이 문제를 방지하려면 "이미지"를 캡처하기 전에 원래 컴퓨터에서 무엇을 할 수 있습니까?
업데이트: 답변 중 하나에 대한 유용한 의견을 바탕으로 초기 머신과 후속 클론에는 디스크가 하나만 있다는 점을 명확히 해야 합니다.
답변1
다른 컴퓨터에 압축을 풀 때 이 문제를 방지하려면 "이미지"를 캡처하기 전에 원래 컴퓨터에서 무엇을 할 수 있습니까?
이름으로 디스크 참조를 마운트하는 대신
- 설치됨태그로
- 또는 설치이름으로
# for example when mounted by-name it would look like this in /etc/fstab
/dev/sda3 /
# and When mounted by-label it would like this in /etc/fstab
LABEL=some_name /
행위태그로추가 작업 없이 새 시스템에서 작동합니다.
어떻게 하는지 알아이름으로해당 디스크가 시스템의 유일한 디스크이고 참조가 로 보장되는 경우에만 새 시스템에서 작동합니다 sda
. 시스템에 다른 디스크가 있거나 다른 하드웨어를 볼 때마다 /dev/sd?
복제된 디스크가 항상 거기에 있을 것이라고 믿을 수는 없습니다 sda
. 이것이 바로 이름별 문제입니다. 모든 /etc/fstab
참조에 grub
해당 내용이 있지만 /dev/sda
디스크에도 해당 내용이 있는 /dev/sdb
경우부팅 장치를 찾을 수 없습니다.
Linux 시스템, RHEL/CentOS, SLES/SUSE, Ubuntu 등에 대해 조금 알아야 합니다.모든 디스크 참조의 위치를 찾습니다.. 그것만이 아니다 /etc/fstab
. 이것애벌레부트로더는 Linux에서 가장 널리 사용되므로 다른 곳에 있을 가능성이 높습니다. 스토리: 저는 SLES 11을 사용했는데 ELILO를 사용했습니다. grub을 대체했고 훌륭하다고 생각했습니다... ELILO를 다시 가져오세요! ...하지만 그 점에 대해서는 걱정할 필요가 있어요하나이 외에 다른 파일 /etc/fstab
은 elilo.conf
.
새로 복제된 디스크가 실행되면 새 시스템(호스트 이름, IP 주소 등)을 설정하는 다양한 작업 중에 /etc/fstab
grub 파일을 업데이트하여 -uuid를 통해 마운트로 돌아갑니다.
설치에 대해서도 알아보세요태그로다른 디스크가 동일한 레이블을 사용하지 않도록 하는 것은 귀하의 책임입니다. 간단해 보이지만 잊어버리기 쉽습니다. 예를 들어 저는 항상 /boot
파티션 boot
과 /
파티션에 레이블을 지정합니다 root
. 디스크를 복제한 다음 그 중 두 개를 연결하고 부팅을 시도하면 디스크가 여러 개 있을 때 시스템에서 어떤 디스크를 선택합니까?분할같은 태그가 있나요? 따라서 잊어버리면 탭을 누르는 것이 문제가 될 수 있습니다. 시스템은 쉽게 부팅되고 작동하지만 생각하는 디스크에서는 실행되지 않습니다.
아래를 내려다보면 /dev/disk/
알게 될 거야
- 보도자료 ID/
- 태그로/
- 섹션 태그별/
- by-partuuid/
- 우회로/
- -uuid/를 통해
그것을 참조하십시오. 매우 명확해야합니다.
ls -l /dev/disk/by-label
lrwxrwxrwx. 1 root root 10 Mar 2 15:46 boot -> ../../sdc2
lrwxrwxrwx. 1 root root 10 Mar 2 15:46 data -> ../../sda1
lrwxrwxrwx. 1 root root 10 Mar 2 15:46 root -> ../../sdc3
lrwxrwxrwx. 1 root root 10 Mar 2 15:46 scratch -> ../../sdb1
# Explanation of these 4 listings: when installing Linux I always do
/boot ==> /dev/sda2 labeled as 'boot'
/ ==> /dev/sdc3 labeled as 'root'
my other disks here on this specific system I labeled as data and scratch.
답변2
blkid
원시 파티션 UUID를 찾는 데 사용됩니다 .- ext2/ext3/ext4 파티션의 경우
sudo tune2fs -U UUID /dev/partition
1에서 얻은 UUID를 설정하십시오.
- btrfs의 경우
sudo btrfstune -U UUID /dev/partition
- xfs의 경우
sudo xfs_admin -U UUID /dev/partition
조심해라아니요다른 파티션을 사용하는 것이 좋습니다.동일한 UUID두 디스크를 모두 동일한 PC에 연결하기로 결정한 경우 특히 그렇습니다. 당신의 핵심과 당신 개인적으로 혼란스러울 수도 있고, 예상치 못한 일이 일어날 수도 있습니다.