Eu tenho um sistema operacional convidado do fedora no VMware. Eu quero expandir a /boot
partição, então adiciono outro disco virtual a esta VM e tento clonar o disco.
Depois dd if=/dev/sda1 of=/dev/sdb1
, blkid
relate que / dev / sda1 e / dev / sdb1 têm o mesmo UUID / GUID.
É estranho que existam 2 UUIDs iguais no universo, como mudar um deles para outro valor UUID?
Atualização 2017-01-25
Assunto alterado, UUID aqui significa UUID do sistema de arquivos, não UUID da partição.
Como é UUID do sistema de arquivos, são necessários utilitários específicos do sistema de arquivos para alterar o UUID ou use o hexeditor para modificar dados brutos no disco ( PERIGOSO, não recomendado, a menos que você saiba o que está fazendo ).
linux
filesystems
cloning
uuid
LiuYan 刘 研
fonte
fonte
Respostas:
Para gerar um novo UUID aleatório, pode-se usar:
Para realmente alterar o UUID, depende do sistema de arquivos.
Supondo que o sistema de arquivos da família ext
Ou se você tem certeza de que o uuidgen vai funcionar:
Assumindo o sistema de arquivos btrfs
O UUID é armazenado no superbloco, portanto, uma cópia byte a byte do sistema de arquivos terá o mesmo UUID.
fonte
Usar:
se for um sistema de arquivos ext , ou
se é um sistema de arquivos xfs .
A razão pela qual a segunda partição tem o mesmo UUID é porque
dd
apenas copia os dados de um arquivo para outro (dd if=/dev/sda1 of=/dev/sdb1
=cat /dev/sda1 > /dev/sdb1
);dd
não sabe o que é uma partição ou como gerar um UUID, apenas copiou todos os dados como estão, incluindo o UUID, que é armazenado no superbloco do sistema de arquivos próximo ao início da partição.A propósito,
eu também acho que UUID (Universally Unique IDentifier) é um nome estranho. Deve ser chamado PGUID (possivelmente identificador globalmente exclusivo), ou melhor ainda, apenas ARLN (um número razoavelmente grande).
fonte
Além do ext2 / ext3 / ex4 e xfs, você também pode alterar o UUID do seguinte sistema de arquivos ou dispositivo de bloco.
Troca
swaplabel -U $NEW_UUID
RAID de software (md raid)
Para MD RAID, você deve interromper o RAID primeiro e, em seguida, atualizar o UUID ao remontar. Portanto, se o seu RAID estiver montado
/
, você precisará atualizar o UUID no modo offline - use um CD ao vivo para fazer isso.mdadm --stop $RAID_DEVICE
mdadm --assemble $RAID_DEVICE --update=uuid --uuid=$NEW_UUID $MEMBER_DEVICES...
Exemplo:
mdadm --stop /dev/md127
mdadm --assemble /dev/md127 --update=uuid --uuid=2A1D2A1D-2A1D-2A1D-2A1D-2A1D2A1D2A1D /dev/sda2 /dev/sdb2
Após a atualização do UUID, você pode precisar atualizar
grub.cfg
(rd.md.uuid=$NEW_UUID
nalinux/linuxefi/linux16
linha de comando) e / ou /fstab
e / oumdadm.conf
/update-initramfs
(família Debian) e / oudracut --force
(família Red Hat) para que possa inicializar com êxito da próxima vez.LUKS (configuração de criptografia)
cryptsetup luksUUID --uuid=$NEW_UUID $LUKS_DEVICE
Exemplo:
cryptsetup luksUUID --uuid=e0c0e0c0-e0c0-e0c0-e0c0-e0c0e0c0e0c0 ~/encrypted-LUKS.loop
FAT / NTFS / exFAT
Esta é outra história aqui,
atualmente não há utilitários para modificar o UUID do sistema de arquivos desses sistemas de arquivos(Veja a resposta de reichhart - amlabel
ferramenta), mas podemos modificar dados brutos no disco para fazer isso.AVISO, é perigoso modificar dados brutos no disco e pode perder dados sem operação cuidadosa.
Aqui estão as etapas detalhadas para modificar os dados brutos no disco usando
hexedit
.blkid
, anote o UUID do sistema de arquivos em papel ou lembre-se dele. A seqüência UUID de FAT / exFAT se parece1122-3344
, a seqüência UUID de NTFS se parece1122334455667788
.Abrir dispositivo de partição usando o hexedit
hexedit <partition device such as /dev/sda1>
blkid
relatado1234-ABCD
, depois pesquiseCDAB3412
) para pesquisar os dados do UUID no disco.blkid
para verificar o UUID.grub.cfg
e / oufstab
para que você possa inicializar com êxito na próxima vez.fsck <partition device such as /dev/sda1>
e veja a mensagem "Há diferenças entre o setor de inicialização e seu backup" . Para resolvê-lo, selecione "1) Copiar original para backup" e, se você for perguntado "Executar alterações? (S / n)", pressione y.fonte
mkfs.exfat -i 01234567 /dev/partitionname
onde omkfs.exfat
comando foi instalado pelo pacote exfat-utils no Fedora Linux. Talvez você deva adicionar isso à sua resposta, pois a variante hexedit é bastante perigosa!ntfslabel
ferramenta. askubuntu.com/questions/642591/…Para XFS, use:
xfs_admin -U <uuid> <device>
Use
xfs_admin -u <device>
para visualizar um UUID (observe a opção em minúsculas para exibir, versus a opção em maiúsculas para definir). Outro post sobre U&L apontou oblkid
comando para visualizar todos ou alguns dos UUIDs no sistema.fonte
Resposta parcial para VFAT
Para sistemas de arquivos ext * e xfs, já existem boas respostas. Mas, para o VFAT, eu recomendo usar o mlabel do pacote mtools. O uso de editores hexadecimais é PERIGOSO.
Use algo como isto para criar um novo UUID:
fonte
mlabel -n -i /dev/sdb3 ::
BTRFS
A execução
btrfsck
é recomendada porque alterar o UUID no BTRFS não é uma operação atômica.fonte
No Fedora 27, descobri que a ordem dos argumentos desempenha um papel crucial ... Você precisa escrever o dispositivo primeiro, caso contrário, o UUID não será alterado. Por exemplo
fonte
-U
antes dadevice
.Para alterar o comando dd resultante da partição de disco duplicada UUID / s - Use GParted.
Na interface do usuário GParted, selecione unidade, selecione partição, desmonte a partição. Na pasta 'Partition', escolha 'NEW UUID', repita até que todos os uuid / s de partições duplicados da unidade dd estejam marcados para substituição. Para discos inicializáveis, não substitua o uuid da partição UEFI.
Revise a letra da unidade e a partição / s selecionadas - Tudo OK? ...
Clique no ícone 'Aplicar todas as operações' na interface do usuário GParted.
Para discos inicializáveis, edite o arquivo / etc / fstab UUID = string / se ponto de montagem / s .:
fonte
Para NTFS, verifique este segmento para obter detalhes.
Resumo:
fonte