如何从ubuntu隐藏(n)(NTFS)分区

我需要在nautilus中隐藏一个NTFS分区。 我怎样才能做到这一点?

有没有工具可以做到这一点?

如何在ubuntu中隐藏文件(除了。运算符)

通过»Disks«隐藏Nautilus的分区

在Ubuntu 12.10及更高版本中,有一个名为Disks的实用程序,它显示所有可用磁盘并允许修改每个分区的挂载选项。

在各种选项中,您可以决定是否在启动时挂载分区,以及它是否会出现在用户界面中。 应用更改需要管理员权限。

Gnome Disks截图

本指南可能对您有所帮助。

你怎么隐藏磁盘不出现在Nautilus?

首先,您必须知道要隐藏的磁盘和/或分区。 根据我的观察,Nautilus将通过标签展示这些设备。 如果它没有标签,则设备将与磁盘/分区大小相关联。

看下面的图片。 红色框中的那些没有标签。 文件系统始终是当前/root分区,而45 GB文件系统是没有标签的分区。 在这个例子中,它是我的Ubuntu 10.10的/root分区(我在Natty Narwhal上运行,但是保留了我的Maverick Meerkat作为各种备份)。 另外两个–Lucid Lynx和Karmic Koala–是我的2个NTFS分区的标签。

在此处输入图像描述

如果您不熟悉Linux如何引用这些设备,标签很重要。 在Windows中,无论是磁盘还是分区,它们都用字母C或D来调用,依此类推。 Linux有一个更具体的命名系统。 它通常是sdaX或hdbY,其中X和Y分别是sda或hdb驱动器上的分区号。 因此,如果sda驱动器上有3个分区,那么将有sda1,sda2和sda3。 Windows更可能只称它为C,D和E.

现在安装所有驱动器和/或分区。 你知道怎么做,不是吗? 单击Nautilus中的名称,它将为您安装它。 我建议您卸载并卸下所有可移动驱动器以避免混淆。

一旦你安装了所有,通过运行gnome-terminal打开终端。 如果您正在使用Natty,只需在短划线中键入,或者如果您使用的是经典的Ubuntu桌面,则在菜单中找到它。 安装all的原因是找出设备名称的更简单方法是因为mount会直接告诉你设备X安装在名为Z的目录Y.简单对吧? 您可以查看/proc/partitions/dev/disks/但它只会让您感到困惑。

运行命令mount一次。 从输出中,通过其关联标签记下驱动器或分区的名称。 它看起来像下面的图像。

在此处输入图像描述

在上面的第二张图片中,您会注意到没有引用已安装的45 GB文件系统。 这是因为后者没有标签,正如我之前提到的那样,并且uuid太长并且在Nautilus上看起来很可怕。 底层系统将通过其uuid名称将其安装在/ media上,而其余系统则通过其标签安装。

由于45 GB文件系统( /dev/sdb2 )确实没有在Nautilus上显示任何业务,我想隐藏它。 我还想隐藏Karmic Koala( /dev/sda1 ),因为它是我的Windows C分区。 天堂禁止我偶然删除任何这些分区中的文件。

现在隐藏开始了! 但在此之前,请确保您知道要隐藏哪些分区(就像我在上面标识它们一样)。 您还可以使用命令sudo fdisk -l列出所有分区,以更快地识别它们。 我将在接下来的步骤中隐藏sda1sdb2 ,但您应该替换您的分区名称。

  1. 使用您喜欢的编辑器创建一个名为99-hide-disks.rules的文件。 这个文件是我们将规则告诉Linux内核隐藏设备的地方。 我不会解释为什么文件名听起来很有趣。 如果我不觉得解释它太懒,这将成为另一篇文章的主题。

  2. 将下面的文本放在刚刚创建的文件中,但请确保更改适用于您的案例的设备名称。 我想隐藏sda1和sdb2。

    一般格式是(这是区分大小写的):

     KERNEL=="device name", ENV{UDISKS_PRESENTATION_HIDE}="1" 

    在我的情况下,我将在99-hide-disks.rules中写下以下内容:

     KERNEL=="sda1", ENV{UDISKS_PRESENTATION_HIDE}="1" KERNEL=="sdb2", ENV{UDISKS_PRESENTATION_HIDE}="1" 

    完成后别忘了保存。

  3. 现在使用命令将文件复制到/etc/udev/rules.d/

     sudo cp 99-hide-disks.rules /etc/udev/rules.d/ 

    现在我们完成了。 系统会立即注意到这一点,因为udev(设备管理Linux)通过inotify查找rules文件夹的更改(这是文件系统事件通知程序服务)。 但是,重新启动后才会应用它。 据说你可以使用udevadm命令来触发新规则,但我还没有真正测试过它。 重新启动你的Ubuntu并注意Nautilus中的分区是如何不再可见的。

编辑:

至少对于Ubuntu 12.10,上面的行不再起作用了,应该改为使用这种格式:

 KERNEL=="sda1", ENV{UDISKS_IGNORE}="1" KERNEL=="sdb2", ENV{UDISKS_IGNORE}="1" 

谢谢你,非常方便的教程。 我实际上在Ubuntu 14.04中找到了一种更简单的方法

  1. 点击超级/ Windows键
  2. 键入并打开磁盘
  3. 选择要隐藏的分区,使其变为橙色
  4. 选择cog / settings / advanced设置图标。 单击编辑装载选项
  5. 关闭自动安装
  6. 取消选中“启动时安装”和“用户界面中显示”
  7. 保存并重新启动

不需要终端,也许这是14.04的新function? 不确定哪种方式更容易和有效。

在此任务完成后,我重新启动以重新检查Windows系统并且双启动工作完美。 这是一个很棒的方式,如果你没有时间来解决一些问题,或者如果你还在学习终端命令的艺术:P

希望这可以帮助。

干杯

Tachyons提供了一个很好的答案 ,展示了如何将分区隐藏到udisks应用程序(例如Dolphin)。 但是,依赖于固定分区名称容易出错,最好使用分区唯一的UUID。 这个答案是用Kubuntu 13.10测试的。

要做到这一点,首先必须找到一个UUID。 这可以通过多种方式找到,其中一种方法是运行命令udisksctl info -b /dev/sda1 (其中/dev/sda1当然是你的分区)。 UUID在IdUUID下可见,并且分区未标记为隐藏(忽略):

 /组织/ freedesktop的/ UDisks2 / block_devices / sda1的:
   org.freedesktop.UDisks2.Block:
    配置:[]
     CryptoBackingDevice:'/'
    设备:/ dev / sda1
     DeviceNumber:2049
    开车:'/ org / freedesktop / UDisks2 / drives / ......'
     HintAuto:假的
     HintIconName:
     HintIgnore: 错误
     HintName:
     HintPartitionable:是的
     HintSymbolicIconName:
     HintSystem:是的
     Id:by-id-ata -...- part1
     IdLabel:SystemReserved
     IdType:ntfs
     IdUUID: A10CDE7682786D73
     IdUsage:文件系统
     IdVersion:
     MDRaid:'/'
     MDRaid会员:'/'
     PreferredDevice:/ dev / sda1
     ReadOnly:false
    大小:104857600
    符号链接:/dev/disk/by-id/ata-...-part1
                                 /dev/disk/by-id/wwn-...-part1
                                的/ dev /磁盘/按标签/ SystemReserved
                                的/ dev /磁盘/副UUID / A10CDE7682786D73

现在,为了隐藏此分区,请创建一个udev规则,该规则通过此UUID与分区匹配,并将其隐藏在udisks中。 例如,如果你想隐藏上面的NTFS分区(使用UUID A10CDE7682786D73 )和另一个ext4分区(使用UUID faae2c6a-0545-4bfa-a545-440c63467467 ),你的/etc/udev/rules.d/99-hide-partitions.rules文件应包含:

 #在UI中隐藏“SystemReserved”分区
 SUBSYSTEM ==“block”,ENV {ID_FS_UUID} ==“ A10CDE7682786D73 ”,ENV {UDISKS_IGNORE} =“1”
 左侧面板中的#clide / home分区
 SUBSYSTEM ==“block”,ENV {ID_FS_UUID} ==“ faae2c6a-0545-4bfa-a545-440c63467467 ”,ENV {UDISKS_IGNORE} =“1”

注释是可选的,但建议使UUID变得不那么神奇。 一定不要混淆=== ,一个设置变量,另一个与变量进行比较。

创建规则文件后,通过重新引导运行来应用它:

 sudo udevadm control --reload sudo udevadm trigger --subsystem-match=block 

现在再次运行udisksctl info -b /dev/sda1命令,它应该包含:

     HintIgnore: 是的

答案现在应该更新。 您可以按照本指南进行操作 ,但有所不同:您不必编写此内容(最初在其他答案中编写)

 KERNEL=="sda1", ENV{UDISKS_PRESENTATION_HIDE}="1" KERNEL=="sdb2", ENV{UDISKS_PRESENTATION_HIDE}="1" 

相反,你应该这样写:

 KERNEL=="sda1", ENV{UDISKS_IGNORE}="1" KERNEL=="sdb2", ENV{UDISKS_IGNORE}="1" 

其余的是相同的:)

你无法真正隐藏分区,因此它们绝对不能100%安装在Linux中,除非物理上移除它们所在的磁盘。 也就是说,我认为你不需要那么高的安全水平。 我怀疑你只是不想意外点击一个图标并进入NTFS分区。 为此,您可以编辑/ etc / fstab文件。 为要隐藏的每个分区添加这样的条目:

假设您的ntfs分区是dev / sda1 然后使用此代码

 /dev/sda1 /mnt/hidden ntfs-3g noauto,ro 0 0 

这会将系统配置为在启动时自动挂载/ dev / sda1(条目的“noauto”部分)。 它还设置它,以便它可以手动挂载在/ mnt / hidden,但仅作为只读分区(“ro”选项)。 如果添加“users”选项(如“noauto,ro,users”),普通用户(即你)将能够挂载分区; 但是如果缺少此选项,则需要使用sudo来挂载分区。 你可以选择你想要的程度 – 你可以省略“ro”和/或添加“用户”。

如何在ubuntu中隐藏文件(除了。操作符)?

看到这个答案

资源

  1. http://ubuntuforums.org/showthread.php?p=9901316

在Dolphin中,不是Nautilus,而是类似于Kubuntu的应用程序,我可以右键单击左侧窗格中的设备。 然后弹出一个菜单我可以选择Hide entry 'humpty dumpty' 。 您可能想要检查Nautilus中是否有类似的选项。

在我的版本14.04.2中,我在磁盘选项中有一个稍微不同的菜单来隐藏分区。

1打开磁盘

2左键单击要隐藏的分区的驱动器(它变为橙色)

3左键单击要隐藏的分区(变为橙色)

4单击分区下方栏中的双齿

5单击“编辑装载选项”

6关闭自动安装选项

7取消选中“启动时挂载”

8取消选中“在用户界面中显示”

9单击“确定”

10输入密码

这在我的电脑中立即生效。

获取您的磁盘UUID:

 blkid 

以root身份编辑/etc/fstab

 UUID="XXX" /media/root/nowhere auto nosuid,nodev,nofail,noauto,nouser,x-gvfs-hide,x-udisks-auth 0 0 

创建一个protected / media / root文件夹(以防止用户在安装时访问该分区):

 sudo mkdir -m=000 /media/root 

几个独立的防护层以防止安装和可视性:

  • noauto阻止启动时自动安装
  • nouser需要root才能挂载(NB:已经是默认行为,而udisk是root)
  • x-gvfs-hide明确地告诉Nautilus隐藏它
  • x-udisks-auth在安装时应该要求管理员权限,但它没有任何效果。 我想它需要额外的配置。

文档: mountfstabgvfs

请注意,所有用户仍然可以看到块设备(例如/dev/sdX ),尤其是在Disk实用程序中。 它仍然可以由root手动安装在其他位置,但默认情况下不能由标准用户手动安装。 如果您不信任root或系统进程,则需要使用其中一种低级内核方法。

更进一步:在那之后,如果你想以一种类似于容器的方法无形地安装块设备,你可以使用unshare

 unshare -m bash MOUNT_DIR="XXX" mkdir "$MOUNT_DIR" mount --bind "$MOUNT_DIR" "$MOUNT_DIR" mount --make-private "$MOUNT_DIR" mount "/dev/sdX" "$MOUNT_DIR" ls "$MOUNT_DIR" 

请注意:大多数/所有答案,包括udev规则的答案,只是隐藏Nautilus的分区,但用户仍然可以通过磁盘实用程序( 图标)以标准权限挂载它。 将fstab挂载点放在不可访问的目录中将阻止用户访问。

这将是从“强大的”Ubuntu 14.4中隐藏“弱”Windows分区的最简单方法。

Ubuntu的:

单击:搜索您的计算机和在线资源

在对话框中写入磁盘,然后单击(磁盘)

单击要隐藏的分区(它会更改颜色)

单击分区下方栏中的双星(更多选项)

选择“编辑挂载选项”

打开自动安装选项(OFF)

取消选中“启动时挂载”

取消选中“在用户界面中显示”

点击“确定”

输入密码。 (你完成了!)

这将立即生效,但需要重新启动。

视窗:

无需从Windows隐藏Ubuntus分区! Windows自动忽略其他非Windows操作系统的分区。

如果磁盘具有GUID分区表(GPT),则可以将分区设置为隐藏在gparted中。

只需安装并运行gparted,右键单击您的分区,管理标志,并将分区设置为隐藏。

  1. 制作隐藏文件夹
  2. 在那里安装任何分区,,,,

    mkdir ./.test

    sudo mount /dev/sda1 ./.test/

卸载

 sudo umount ./.test/ 

./.test/is隐藏

你只能通过我给出或你必须使用的命令安装设备

 mount --bind oldmount newmount 

oldmount和newmount是文件夹名称