디스크의 UUID를 원하는 것으로 어떻게 변경합니까?


29

USB 플래시 드라이브의 UUID를 이전 UUID로 변경 해야하는 독특한 상황이 있습니다. 나는 그것을 포맷했고 분명히 숫자가 바뀌었다 ...

부팅 할 1TB HDD 및 4GB USB 플래시 드라이브로 우분투 서버 설정을했습니다. hdd의 Grub은 USB 드라이브를 포맷하고 우분투 서버를 다시 설치할 때 변경된 UUID로 구성됩니다. 외부 모니터가 없기 때문에 노트북에 USB를 연결하고 서버를 서버 하드웨어에 설치하는 것보다 서버를 설치합니다.

내가 언급 한 것처럼 문제는 이전 UUID로 돌아가려면 USB가 필요하다는 것입니다. 그리고 월요일까지 외부 모니터를 얻을 수 없습니다! :)

나중에이 파일을 변경해야한다는 것을 알고 있습니다.

UUID가 가장 중요한 파일 :

/boot/grub/menu.lst

/etc/fstab

/etc/initramfs-tools/conf.d/resume

그러나 UUID 사용자 정의에 대한 정보는 찾을 수 없습니다.

누군가?

답변:


37

ext를 사용한 경우 :

tune2fs /dev/{device} -U {uuid}

에서 man tune2fs

-U UUID

파일 시스템의 UUID (Universally Unique Identifier)를 UUID로 설정하십시오. UUID의 형식은 다음과 같이 하이픈으로 구분 된 일련의 16 진수 c1b9d5a2-f162-11cf-9ece-0020afc76f16입니다. UUID 매개 변수는 다음 중 하나 일 수도 있습니다.

clear  clear the filesystem UUID
random generate a new randomly-generated UUID
time   generate a new time-based UUID

UUID는 / dev / hda1과 같은 블록 특수 장치 이름 대신 UUID = uuid를 지정하여 mount (8), fsck (8) 및 / etc / fstab (5) (및 기타)에 의해 사용될 수 있습니다.


작동했습니다! 하지만 난 찾을 수 없습니다 : /etc/initramfs-tools/conf.d/resume 그 /boot/grub/menu.lst 파일이 /boot/grub/grub.cfg로 변환되었다 발견

시스템에 /etc/initramfs-tools/conf.d/resume이 있습니다. . 그리고 grub.cfg는 실제로 새 menu.lst 파일 (내가 하나가 새로운 GRUB2와 함께 놀이에 와서 생각입니다
Rinzwind

내가 무엇을 시도하든 내 자신의 UUID를 설정하려고 할 때 오류가 발생합니다 (tune2fs : 잘못된 UUID 형식). 사물에 특정한 순서가 있습니까?
앤드류

ZFS gpt 디스크에서 tun2fs가 작동하지 않습니다. 어떻게해야합니까?
Brian Thomas

XFS (xfs_admin)에 대한 답변을 보면 zfs_admin을 찾으라고 제안하지만 zfs Solaris가 아닙니까?! 우분투가 여기서 도울 수있는 것을 어떻게 보십니까?
Rinzwind

14

나는 이것이 일종의 오래된 질문이라는 것을 알고 있지만 새로운 변화가 있다는 것을 알았고 이것이 Google이 스누핑 한 것이므로 여기에서 찾은 답변을 게시 할 것입니다.

새로운 14.04 우분투에서 루트 파일 시스템의 uuid (잘 알려진 시작 및 일련 번호 접미사)를 변경하려고 할 때 공포 tune2fs에서 다시보고했습니다. 마운트 파일 시스템에는 그렇게 할 수 없습니다. 잘 알려진 UUID와 함께 템플릿 이미지를 사용할 수 있고 각 설치를 직렬화 된 UUID로 변경합니다. 문제를 극복 할 수 없다는 것을 알았습니다.

새로운 tune2fs로 마운트 된 UUI 변경을 허용하기 위해 비활성화해야하는 플래그가 있습니다. 이것이 내 프로세스의 모습입니다.

root@ubuntu1404:~# blkid
/dev/sda1: UUID="2ec827b0-72be-4c73-b58a-102a37aa24a3" TYPE="ext4"
root@ubuntu1404:~# uuid="deafcafe-abba-daba-deca-fc0ffee05065"
root@ubuntu1404:~# root_disk=$(df /|grep /|cut -d' ' -f1)
root@ubuntu1404:~# echo $root_disk
/dev/sda1
root@ubuntu1404:~# tune2fs -U $uuid $root_disk
tune2fs 1.42.9 (4-Feb-2014)
The UUID may only be changed when the filesystem is unmounted.
root@ubuntu1404:~# tune2fs -O ^uninit_bg $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# tune2fs -U $uuid $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# tune2fs -O +uninit_bg $root_disk
tune2fs 1.42.9 (4-Feb-2014)
root@ubuntu1404:~# df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       7.3G  3.9G  3.0G  58% /
root@ubuntu1404:~# blkid
/dev/sda1: UUID="deafcafe-abba-daba-deca-fc0ffee05065" TYPE="ext4"
root@ubuntu1404:~#

감사. 앞으로 도움이 될 수 있지만, 아직 12.04에 있습니다 :)

1
root_disk=$(findmnt -n -o SOURCE /)파이프 대신에 grep and cut을 사용할 수 있습니다 .
mivk

그렇게하지 않으면 파일 시스템이 손상 될 수 있습니다. 제거했다가 다시 추가 uninit_bg하면 다음 부팅시 메타 데이터 손상 및 자동 읽기 전용 다시 마운트 ( ext4_mb_generate_buddy:757: group 1, block bitmap and bg descriptor inconsistent: 3701 vs 3700 free clusters오류 메시지 유형)가 발생합니다. 그 이유는 tune2fs커널의 발 아래에서 디스크 를 직접 수정하고 커널이 bg메타 데이터 를 업데이트 할 때 실제로 메타 데이터가 손상되는 시간의 절반에 해당하기 때문입니다! 결론 : 파일 시스템을 마운트 해제하지 않으면 fileysstem UUID를 안전하게 변경할 수 없습니다.
Eric

6

xfs의 경우 man xfs_admin

xfs_admin -U {uuid} {device}

{uuid}는 새로운 uuid를 얻기 위해 '생성'될 수 있습니다.

reiserfs에 대한 참조 man tunefs.reiserfs

tunefs.reiserfs -i {uuid} {device}

btrfs의 경우 파일 시스템을 통해 uuid가 사용되므로 모든 노드를 업데이트해야합니다. 아직 안전한 방법은 없습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.