在 windows10系统中隐藏 linux系统所在磁盘 (*已验证*)

文章讲述了如何在Windows10中隐藏Linux系统所在的磁盘,包括使用注册表编辑器修改NoDrives设置,以及解决双系统环境下可能出现的乱码问题。提到Windows12计划支持UTF-8,减少乱码。
摘要由CSDN通过智能技术生成

在windows10系统中隐藏linux系统所在磁盘

如何在linux当中隐藏windows硬盘分区

直接采用 reg 吧?会简单方便多了。
本文中的解决“乱码”问题

本文的环境:Win 10 21h2

-------------------------------------------------------------

思考:

国外有几个商业公司开发的、免费的开源工具,如:

linux reader  https://www.diskinternals.com/linux-reader/

它们只提供了“读”的功能,而没有“写”的功能,这可能是有道理的?

  • “读”则简单,出现了乱码问题,是否要读,由用户自己决定。或者软件的作者可以容易解决在读过程中的乱码问题。
  • “写”过程的乱码问题,如果软件没有解决好,则会损坏用户的源文件,这是灾难的,同时也会影响到 这种软件的口碑。以其这样,不如只提供“读”的功能。

未来可能会解决跨系统的乱码问题吧?win 12之后?

-------------------------------------------------------------

双系统的问题:格式化乱码

本文主要考虑的是在编程场景之下,产生源码的乱码问题,以及格式化问题。

如果没有解决“格式化、乱码”问题之前,那么,使用双系统可能会造成人为的数据灾难?

在其他应用场景里,可能不需要对这类问题有太多的关注吧?

1. 严重 1:在 Win OS中,打开 Linux ext4磁盘时,由于 Win无法识别,于是,总是跳出“使用驱动器 X: 中的光盘之前需要将其格式化”,“you need to format the disk in drive before you can use it”。

结果呢?手一哆嗦,按到了“格式化磁盘”的按钮,悲剧了:Linux磁盘数据,完蛋了。

无效的解决方案:

1.1. ext2Fsd 虽然可以读取 ext4文件系统中的文件,但无法避免上述问题。

1.2. wsl2 据说可以 mount,但还不知道行不行?在 win10上 wsl --update了之后,还是没有看见 --mount 选项,可能需要 win 11才行吧?没有继续实验了。

说明;

1. 当未格式化、或 Win无法识别格式的磁盘,在启动之前,就已经有效地连接在电脑上了,此时

不会弹出格式化提示窗口。<< 这是本文所指的双系统场景。

但当点击该盘时,也会跳出格式化提示窗口。

在电脑启动完成之后,再插入磁盘,则会弹出格式化提示窗口。

2. win 自带的其他隐藏磁盘功能的磁盘管理工具,只对 win 能够识别的磁盘,才有效。对 ext4 无效。

2. 严重 2:Windows是卖钱的,每一种语言就有不同的字符编码。在双系统使用时,很容易导致“源文件“产生难以恢复的“乱码”问题。

未来的解决方案

据说 Win 12 之后,就可以直接支持 UTF-8了,也就是在双系统场景没有乱码问题了;但这是未来的东西。

实验方案

1. 实验 OK 的方案

“隐藏用户指定驱动器_首先自定义需要隐藏的驱动器.reg”

 “显示全部驱动器_取消所有的隐藏驱动器.reg”

2. 其他方案

暂时没有找到其他的合适方案,也许 win12之后,就不需要考虑这个问题了?

双系统的文件共享问题

虽然有不少的小工具,提供了在双系统场景之下的文件共享方案。

但我觉得直接采用一个小容量的、可靠的 linux发行版,在虚拟机中采用共享文件夹的方式,来实现双系统场景下的文件共享,也是可靠的。

之所以要读取 Linux文件,或多或少都会使用到 Linux OS;现代电脑的 RAM,磁盘等等,在不太需要考虑速度的文件共享场景里,增加一个虚拟机还不应该成为其负担吧?

===================================

在 windows10系统中隐藏 linux系统所在磁盘 (*已验证*)

Step 2双系统:windows10(磁盘C)+scientific linux7.9(磁盘D、E)

关键:在Administrator账户中修改注册表。<< 好像使用其他具有管理员权限的账户,都可以的吧?

1-Step 1

打开计算机管理。在任务栏搜索框中输入"compmgmt.msc",回车。

1-Step 2

取消Administrator账户的"账户已禁用"

1-Step 3

进入管理员账户

2-Step 1:

打开注册表编辑器。(键盘点击win+R,输入 regedit

2-Step 2:

进入以下路径

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

新建"DWORD(32位)值",命名为"NoDrives",显示类型为"REG_DWORD"。

2-Step3:

换算

注册表中,键的类型REG_DWORD,表示32位无符号数,如果用二进制表示,从低位到高位(也就是从右到左),依次表示ABCDEFGHJIKLMNOPQRSTUVWXYZ,如果想隐藏哪个驱动器,直接把对应位写成1,不隐藏就写0。

例如,对于此例,若想隐藏磁盘D和E,而其他其他磁盘不隐藏。二进制数应为"00000000000000000000011000",转换为16进制数为"18"。所以,修改"NoDrives"的数值数据为十六进制的"18"。

发布于 2022-04-15 21:30

例子

(11000)b = (16 + 8 =24)十 = (18)十六

盘符二进制十六进制十进制
C10044
D1 00088
E10 0001016
F100 0002032
G1 000 0004064

盘符二进制十六进制十进制
C + D1 100C12
E + F110 0003048
E + F + G1 110 00070112

直接采用 reg 吧?会简单方便多了。

隐藏用户指定驱动器_首先自定义需要隐藏的驱动器.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDrives"=dword:00000018

显示全部驱动器_取消所有的隐藏驱动器.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDrives"=dword:00000000

说明:

1. 必须首先修改成自己需要的 16 进制值。

"NoDrives"=dword:00000018,“00000018” 为十六进制值。

这个十六进制值的表示意义,见上文。

2. x.reg 文件,只能在本机中运行,在网络磁盘上运行无效?

3. “隐藏用户指定驱动器_首先自定义需要隐藏的驱动器.reg” 运行成功后, Win OS 需要重启之后,才有效。

4. “显示全部驱动器_取消所有的隐藏驱动器.reg”

十六进制值为全 0,无需修改,直接运行即可。

如何在linux当中隐藏windows硬盘分区

  https://zhidao.baidu.com/question/424226110328778972.html

若/dev/sda3上装的是Windows。在linux下是没有挂载sda3的,但这个分区会显示在文件管理器里。不想它显示,可以这么做,

fdisk /dev/sda

输入 t 更改sda3的分区类型

若之前是NTFS,改为Hidden NTFS类型即可

本文中的解决“乱码”问题

1. 对双系统之下的源码文件进行隔离,有 Linux 创建的文件,只会由 Linux来读写;反之一样。

2. 当需要进行“写操作”时,必须保证原始文件,只能由创建它的系统进行写操作。

这样万一出现了乱码,还可以通过读取原始文件来处理。

3. 当需要进行跨系统的“写操作”时,必须能够即时验证是否存在乱码问题。

虽然现代大多的文本编辑器都可以支持各种各样的字符编码格式,但是,万一无意中选择的编码格式,从而造成了难以恢复的乱码呢?

在单一系统(OS)中工作,可能根本就不需要去考虑“乱码”的问题。但是,在跨平台工作时,乱码问题可能就是一个习以为常的麻烦事了?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值