当仅知道标签时查找分区的内核名称

当仅知道标签时查找分区的内核名称

条件:找到可靠的设备名称,其中磁盘标签 ( MasiWeek) 和磁盘大小 ( 2 TB) 已知
动机:尝试确定 Ubuntu 的 GUI 按钮
系统特点

  • 磁盘标签是用户指定的磁盘名称。/media/masi/如果安装正确,则会列出。

  • 命令lsblk -no name,label,partlabel给出

    sda                    
    ├─sda1                 
    ├─sda2                 
    └─sda3                 
    sdb                    
    └─sdb1 MasiWeek 
    
  • 我知道磁盘标签为MasiWeek,其大小为 2 TB,在命令中可见为 1.8T。我想可靠地找到这样的光盘,以便我可以在需要变量信息的地方执行以下操作$label

    # https://askubuntu.com/a/593375/25388
    partition=$(basename $(readlink $label))
    sudo mkdir /media/$USER/$label
    sudo mount /dev/$partition /media/$USER/$label
    

系统:Linux Ubuntu 16.04 64位
相关:Ubuntu 的 GUI“Mount”的等效命令是什么?

答案1

  1. 使用mount-L选项或使用 指定安装设备LABEL=name

    例如

    安装 LABEL=MasiWeek /media/masi/MasiWeek

    或者

    挂载 -L MasiWeek /media/masi/MasiWeek

    mount还有一个-U选项并了解UUID=uuid您是否更喜欢使用块设备的 UUID。

  2. 获取所有块设备列表以及 LABEL 和/或 UUID 详细信息(如果有)的最简单方法是使用blkid.例如

    # 块基德
    /dev/sda1:标签=“kaliboot”UUID=“c0182339-da69-4f30-b131-c2fdb778f6b0”类型=“ext3”PARTUUID=“6fb80985-01”
    /dev/sda2:UUID =“4c367cee-8bed-41d5-b466-38c7f3a03330”类型=“交换”PARTUUID =“6fb80985-02”
    /dev/sda3:标签=“kaliroot”UUID=“6bb6d228-0581-49ae-9d49-dd148c273ecc”类型=“xfs”PARTUUID=“6fb80985-03”
    

    请注意,交换分区有一个 UUID,但没有标签。那是因为-L当我用 . 创建它时,我没有费心去使用该选项mkswap

    另请注意,如果您有大量 LVM LV 或 ZFS ZVOL(正如我在我的主机上所做的那样,这就是我使用另一台机器的输出的原因),这可能会很慢并产生大量输出(每个块设备一行)或相似的。

答案2

如果你只知道分区标签并想找到对应的内核名称:

lsblk -rno label,name | awk '$1=="LABEL"{print $2}'

输出类似sdb3.然后,您可以像文件管理器一样安装分区,通过udisksctl

udisksctl mount -b /dev/$(lsblk -rno label,name | awk '$1=="LABEL"{print $2}')

相关内容