[Share Experiences] 修改Linux 分区 UUID
Tofloor
poster avatar
酷谷的谷子
deepin
2023-07-22 04:06
Author

注意事项修改磁盘 uuid 的时候,磁盘不能被挂载需要先卸载

#/dev/sdb5 硬盘设备分区名称
sudo umount /dev/sdb5

生成UUID的命令[不适合NTFS nfs等windows格式] uuidgen

查看硬盘分区设备名字以及UUID的命令 blkid

修改 exit 2 3 4

#!/bin/bash
MY_UUID=$(uuidgen)
sudo umount /dev/sdb5
sudo e2fsck -f /dev/sdb5
sudo tune2fs -U ${MY_UUID} /dev/sdb5

xfs

#!/bin/bash
MY_UUID=$(uuidgen)
sudo umount /dev/sdb5
sudo xfs_admin -U ${MY_UUID}  /dev/sdb5

btrfs

#!/bin/bash
MY_UUID=$(uuidgen)
sudo umount /dev/sdb5
sudo xfs_admin -U ${MY_UUID}  /dev/sdb5

ntfs

生成 NTFS UUID 的 JAVA 程序 ntfs-uuid.java

package com.dj;
import java.util.UUID;
/**
 * @Author: ldj
 * @Date: 2021/11/18/10:59
 * @Description: 生成16位唯一id
 */
public class UUID16 {
    public static void main(String[] args) {
        System.out.println(getUUID16());
    } 
    public static String getUUID16(){
        //1.UUID生成32位数
        String uuid32 = UUID.randomUUID().toString().replace("-", "");
        //2.然后截取前面或后面16位
        String uuid16 = uuid32.substring(0, 16);
        return uuid16;
    }
}

生成 ntfs uuid

java ./ntfs-uuid.java | tr a-z A-Z
#!/bin/bash
MY_UUID=$(java ./ntfs-uuid.java | tr a-z A-Z)
sudo umount /dev/sdb5
sudo ntfslabel --new-half-serial="${MY_UUID}" /dev/sdb5

使用场景:

可以用在还原系统的时候修改分区UUID,只要修复引导就可以,挂载就更容易

恢复系统以后查看 原来的 /etc/fstab 这个是系统默认的配置文件

#/etc/fstab
#查看配置文件是否有 ext4 文件系统
cat /etc/fstab|grep ext4
cat /etc/fstab|grep xfs
cat /etc/fstab|grep btrfs
#读取整个fstab文件
cat /etc/fstab
#修改fstab文件
sudo vi /etc/fstab

查看已有 分区设备 是否存在以下文件系统

#查看全部
blkid
#我的是这样的
/dev/sda1: UUID="1224ce35-e6bb-4c29-8e9c-51597b560c37" TYPE="ext4" PARTUUID="d9775750-01"
/dev/sda5: UUID="3948af8e-acf6-4ab1-86af-2a35fff44c67" TYPE="ext4" PARTUUID="d9775750-05"
/dev/sda6: UUID="168369af-7221-4859-ac67-055e1c28d617" TYPE="ext4" PARTUUID="d9775750-06"
/dev/sda7: UUID="00234104-4ff4-4bf5-94db-34ce7dcdfd3f" TYPE="ext4" PARTUUID="d9775750-07"
/dev/sda8: UUID="054A690759666D09" TYPE="ntfs" PTTYPE="dos" PARTUUID="d9775750-08"
/dev/sdb1: UUID="76176ae0-5258-40d5-a571-eae58b7d8422" TYPE="ext4" PARTUUID="c141538a-01"
/dev/sdb5: UUID="29EB44F918465F17" TYPE="ntfs" PTTYPE="dos" PARTUUID="c141538a-05"
/dev/sdb6: UUID="a31bf44e-c5e0-420e-9b57-7fa2c9f87410" TYPE="ext4" PARTUUID="c141538a-06"
/dev/sdb7: UUID="ffb457d7-bdc0-41a1-9df4-115c9f28a05c" TYPE="ext4" PARTUUID="c141538a-07"
/dev/sr0: UUID="2023-07-16-07-03-03-00" LABEL="LINUX MINT 20.2 MATE 64-BIT" TYPE="iso9660"
/dev/loop0: TYPE="squashfs"
#-------------------------------------------------------
#筛选
blkid |grep ext4
blkid |grep xfs
blkid |grep btrfs

备份系统。。。。 查找以后在补充

修复引导。。。。查找以后在补充

Reply Favorite View the author
All Replies
Tonny
deepin
2023-07-22 04:10
#1
It has been deleted!
酷谷的谷子
deepin
2023-07-22 04:17
#2
Tonny It has been deleted!

可以用在还原系统的时候修改分区UUID,只要修复引导就可以,挂载就更容易

还有就是我最近在搞的这个https://bbs.deepin.org/zh/post/259445

Reply View the author
阿尼樱奈奈
Moderator
2023-07-22 04:45
#3

标题打错了,不是Linxu,是Linux。

Reply View the author