[HN Gopher] Windows drive letters are not limited to A-Z
       ___________________________________________________________________
        
       Windows drive letters are not limited to A-Z
        
       Author : LorenDB
       Score  : 327 points
       Date   : 2025-11-30 13:40 UTC (9 hours ago)
        
 (HTM) web link (www.ryanliptak.com)
 (TXT) w3m dump (www.ryanliptak.com)
        
       | thrtythreeforty wrote:
       | The cursedness of "EUR:\" is awesome. It's amazing how much more
       | flexible the NT kernel is vs what's exposed to the user.
        
         | jeffbee wrote:
         | Yeah only the DOS facade of Windows NT is well known. Under
         | that skin lurks some pretty wild late-1980s concepts. One of
         | the core things to understand is that a lot of the features are
         | based on a reverse map of GUIDs to various actions, and
         | resolution of these map entries pervades the UI. That's why you
         | can put {hexspew} as the name of a shortcut on the Windows
         | desktop and have it magically become a deep link to some
         | feature that Windows doesn't otherwise let you create a
         | shortcut to, and also why you can just add things to the
         | control panel which doesn't seem like it would be an
         | intentional feature. And these actions can be named symbols
         | inside DLLs, so they can do literally anything the OS is
         | capable of doing. This is also why Windows has always been
         | ground zero for malware.
        
           | pixl97 wrote:
           | >so they can do literally anything the OS is capable of doing
           | 
           | Yea, over the years someone thought of something they wanted
           | to do and then did it without a systematic consideration of
           | what that level of power meant, especially as multi-user
           | network connectivity and untrusted data became the norm.
        
             | p_ing wrote:
             | Those weren't a consideration when the NT OS/2 Design
             | Workbook was being written.
        
           | sedatk wrote:
           | Those GUIDs aren't related to NT kernel but Windows Explorer
           | and its COM-based component system. They were introduced with
           | Windows 95, IIRC.
        
           | Wonkey wrote:
           | That sounds fun. Do you have a link or and example "hexspew"
        
             | bialpio wrote:
             | God mode shortcut: https://en.wikipedia.org/wiki/Windows_Ma
             | ster_Control_Panel_s...
        
         | Dwedit wrote:
         | Very cursed, and the drive letter won't even be accessible
         | under certain codepages.
        
           | jeroenhd wrote:
           | As far as I can tell, the drive will still be accessible,
           | it'll just require the character equivalent to EUR on the
           | other code page as a drive letter.
           | 
           | As long as your code page doesn't have gaps, that should be
           | doable. It'll definitely confuse the hell out of anyone who
           | doesn't know about this setup, though!
        
         | moffkalast wrote:
         | It's not flexible enough until we can have a joy face emoji as
         | the drive letter.
        
       | the_mitsuhiko wrote:
       | > In other words, since RtlDosPathNameToNtPathName_U converts
       | C:\foo to \??\C:\foo, then an object named C: will behave like a
       | drive letter. To give an example of what I mean by that: in an
       | alternate universe, RtlDosPathNameToNtPathName_U could convert
       | the path FOO:\bar to \??\FOO:\bar and then FOO: could behave like
       | a drive letter.
       | 
       | For some reason I remember that the original xbox 360 had "drive
       | letters" which were entire strings. Unfortunately I no longer
       | have access to the developer docs and now I wonder if my mind
       | completely made this up. I think it was something like
       | "Game:\foo" and "Hdd0:\foo".
        
       | azalemeth wrote:
       | This all sounds like a wonderful way to write some truly annoying
       | malware. I expect to see hidden mounts on SQL-escape-type-
       | maliciously-named drives soon...
        
         | hulitu wrote:
         | > This all sounds like a wonderful way to write some truly
         | annoying malware.
         | 
         | AFAIK you need admin priviledges to play with drives in
         | Windows.
        
         | Someone1234 wrote:
         | I understand your point; but I'm struggling to see how this
         | could be weaponized. Keep in mind, that these Dos compatible
         | drive letters need to map to a real NT path endpoint (e.g. a
         | drive/volume); so it isn't clear how the malware could both
         | have a difficult to scan Dos tree while also not exposing that
         | same area elsewhere for trivial scanning.
        
           | rwmj wrote:
           | I'm betting there's some badly written AV software out there
           | which will crash on non-standard drive letters, allowing at
           | least a bit of mayhem.
        
           | buzer wrote:
           | The recovery partition might work if it exists.
        
           | avidiax wrote:
           | Not sure if it is natively supported, but the malware can
           | just decrypt a disk image to RAM and create a RAM disk
           | mounted to +. Or it can maybe have a user space driver for a
           | loop device, so the sectors of the drive are only decrypted
           | on the fly.
           | 
           | It would likely break a lot of analysis tools and just
           | generally make things very difficult.
        
         | ahoka wrote:
         | Wait until your learn about Alternate Data Streams...
        
           | boston_clone wrote:
           | Decent writeup from CS with that evasion method described -
           | 
           | https://www.crowdstrike.com/en-us/blog/anatomy-of-alpha-
           | spid...
        
           | p_ing wrote:
           | They had their use when running Services for Macintosh.
        
             | jeroenhd wrote:
             | They're still actively used to apply the Mark of the Web to
             | indicate a file has been downloaded from an untrusted zone
             | and should be handled with caution. I believe macOS also
             | applies similar metadata.
             | 
             | There are a few other places where they also show up, but
             | the MotW is the most prevalent one I've found. Most
             | antivirus programs will warn you for unusual alternate data
             | streams regardless of what they contain.
        
       | nunobrito wrote:
       | This was a cool article. Learned something new today.
        
       | RobotToaster wrote:
       | > Drives with a drive-letter other than A-Z do not appear in File
       | Explorer, and cannot be navigated to in File Explorer.
       | 
       | Well there goes my plan to replace all my drive letters with
       | emojis :(
        
         | mananaysiempre wrote:
         | You would be limited to a fairly small subset of emojis,
         | anyway: many (most?) of them are outside of the BMP so don't
         | fit into a single UTF-16 code unit, and some of the remaining
         | ones are ordinary characters followed by an emoji style
         | selector (U+FE0F), which doesn't fit either.
        
         | bikson wrote:
         | But your computer name can be emoji.
        
         | jeroenhd wrote:
         | With the right code pages, you should be able to find a few
         | smiley faces.
         | 
         | For everything else, the best advice I can offer is that you
         | can put your own autorun config file on the root of a drive to
         | point the drive icon to a different resource. Though the path
         | will stay boring, the GUI will show emoji everywhere,
         | especially if you also enter emoji in the drive label.
        
       | Tanoc wrote:
       | Anybody who's had to look through files on multi-disc arrays
       | knows exactly how weird the drive letters can get. Mount the ISOs
       | of thirty six 8.5GB DVDs because someone thought it was a good
       | idea to split zip a single archive into 7.99GB segments and
       | things get very tricky in cmd. If you weren't in the habit of
       | using several layers of quotation marks to separate everything
       | you'll form it very quickly because the operators can be the same
       | symbols as the drive letters, as shown in the article with the
       | "+" example.
        
       | rado wrote:
       | Windows drive letters are ridiculous. Use an external drive for
       | e.g. video editing, its letter can be stolen by another drive,
       | you can't work anymore.
        
         | TazeTSchnitzel wrote:
         | You can fix the drive letter assignments at any time if they
         | become a problem, or use a directory as a mount point if that's
         | less troublesome. (Win-R, diskmgmt.msc)
        
         | Arainach wrote:
         | Not while it's mounted. This is akin to complaining that on
         | Linux if you unplug a flash drive and plug in a different one
         | that second drive could "steal" /mnt/sdb1 or whatever.
        
           | Filligree wrote:
           | People did complain about that, which is why on Linux today
           | that mount would use the disk UUID or label instead.
           | 
           | So it's fixed. What's windows' excuse? :-)
        
             | ChrisSD wrote:
             | Windows also has uuids. E.g.:
             | \\.\Volume{3558506b-6ae4-11eb-8698-806e6f6e6963}\
        
               | Someone1234 wrote:
               | Which can be trivially mapped to directories for
               | aliasing. Just like Linux.
               | 
               | Windows NT and UNIX are much more similar than many
               | people realize; Windows NT just has a giant pile of
               | Dos/Win9x compatibility baked on top hiding how great the
               | core kernel design actually is.
               | 
               | I think this article demonstrates that very well.
        
               | jug wrote:
               | Yeah, NTFS is quite capable. I mostly blame the Windows
               | UI for being a bit too dumbed down and not advertising
               | the capabilities well.
        
           | hulitu wrote:
           | Linux is broken from this point of view. Inserting an USB
           | drive before boot breaks booting .
        
             | Xiol wrote:
             | Certainly doesn't for me. Skill issue.
        
               | dpark wrote:
               | "Works on my machine" is rarely a helpful response.
               | Doubling down with the "skill issue" insult makes it rude
               | in addition to being unhelpful.
               | 
               | Two other people were able to concisely explain the
               | problem instead of being rude and condescending.
        
             | oasisaimlessly wrote:
             | Only if you have a broken kernel cmdline or fstab that
             | references /dev/sd* instead of using the UUID=xyz or
             | /dev/disk/by-id/xyz syntax.
        
               | cesarb wrote:
               | > Only if you have _an old-style_ kernel cmdline or fstab
               | that references  /dev/sd* instead of using the UUID=xyz
               | or /dev/disk/by-id/xyz syntax.
               | 
               | Fixed that for you. It used to be normal to use the
               | device path (/dev/hd* or /dev/sd*) to reference the
               | filesystem partitions. Using the UUID or the by-id
               | symlink instead is a novelty, introduced precisely to fix
               | these device enumeration order issues.
        
             | lutusp wrote:
             | > [ .. ] Inserting an USB drive before boot breaks booting.
             | 
             | Only if the machine's BIOS is configured to give bootable
             | USB devices boot-order priority. So it's not about Linux --
             | in fact, the same thing would happen on a Windows machine.
             | 
             | Remember that in a properly configured Linux install, the
             | boot partition is identified by UUID, not hardware
             | identifier (in /etc/fstab). Consequently if you change a
             | drive's hardware connection point, the system still boots.
        
         | avhception wrote:
         | I remember vividly when a user couldn't access his smb drive
         | from Windows because both his printer and also the computer's
         | case came with one of these multi-cardreaders with n slots and
         | the drive letters collided. That's when I learned that smb
         | drive letters don't even come from the "global" pool of drive
         | letters, because, and this is obvious in hindsight, they are a
         | per-user affair (credentials and all that).
         | 
         | I think the concept of drive letters is flawed.
        
           | mrweasel wrote:
           | Even Microsoft appears to agree with you, given that drive
           | letters are symlinks. It's basically legacy, there's just no
           | plan or reasonable path forward that will remove them.
        
           | p_ing wrote:
           | I always tried to point people to DFS w/ the FQDN path. We
           | added a shortcut to the user's desktop that pointed to their
           | home folder on the DFS namespace.
        
         | p_l wrote:
         | Only if the actual "drive letter" assigned to the drive is the
         | special value for "auto".
         | 
         | Otherwise, the drive letter is allocated statically and won't
         | be used by another volume.
        
         | leptons wrote:
         | You can't work anymore only if you are incurious and unable to
         | google a simple solution - assign a different drive letter with
         | the disk management program.
        
         | Kwpolska wrote:
         | If you go with the defaults, they might be. But if you manually
         | define the letter for your external drive, it will keep it
         | forever. (I have my external drive set to X. I'm not sure if
         | Windows would respect that assignment if I had plugged in 19
         | other drives, but that is never going to happen.)
        
       | kijin wrote:
       | I remember when A and B were commonly used drive letters. C was a
       | luxury. D was outright bourgeois.
       | 
       | But for some reason, drive letters starting with C feel
       | completely natural, too. Maybe it's because C is also the first
       | note in the most widely known musical scale. We can totally
       | afford to waste two drive letters at the start, right?
        
         | urbandw311er wrote:
         | Oh bless you and your youngsterness. A and B, by convention,
         | were reserved for floppy drives and C was typically the first
         | hard drive.
        
           | HPsquared wrote:
           | Hard drives were a luxury.
        
             | prerok wrote:
             | While original IBM PCs indeed may not have had HDDs, it did
             | become a standard for PC XT, as early as 1983. Only the
             | cheapest version were without a HDD by the end of the
             | 1980s.
        
               | actionfromafar wrote:
               | Many clones came without a HDD.
        
               | prerok wrote:
               | Sure, I can imagine that.
               | 
               | My first contact with PCs was in 1988 and they all had
               | HDDs and were definitely not "IBM PC" but clones. That
               | said, that's just my experience so YMMV.
        
               | pdonis wrote:
               | My first PC, bought in late 1986, was a Leading Edge
               | Model D, with two 360K floppy drives and no hard drive. I
               | wrote a script to put COMMAND.COM and some other key
               | files on a RAM disk on boot so I didn't have to keep the
               | DOS floppy in the A: drive all the time. IIRC they had
               | come out with a model that had a 20 MB hard drive but it
               | was more than I could afford.
               | 
               | MIT, where I was at school then, had some IBM PC XTs with
               | 10 MB hard drives, but most of their computer resources
               | were time-sharing DEC VAX machines. You could go to one
               | of several computer labs to get on a terminal, or even
               | dial into them--I did the latter from my PC (the one
               | above) using a 2400 baud modem, which was fast for the
               | time.
        
               | jasomill wrote:
               | Reminds me of a silly thing that happened when I was a
               | freshman in high school, _ca._ 1992.
               | 
               | We had a dumb "computer literacy" class taught in an
               | computer lab full of PS/2 Model 25s with no hard drives,
               | and were each issued a bootable floppy disk containing
               | both Microsoft Works and our assignment files (word
               | processing documents, spreadsheets, etc.), which we
               | turned in at the end of class for grading.
               | 
               | We started Works in the usual way, by typing "works" at
               | the MS-DOS prompt.
               | 
               | One day, out of boredom, I added "PROMPT Password:" to
               | AUTOEXEC.BAT on my disk, changing the DOS prompt from
               | "A:\>" to "Password:" when booted from my disk.
               | 
               | Two days later, I got called into the dean's office,
               | where the instructor demanded to know how I used my disk
               | to "hack the network" -- a network that, up until this
               | point, I didn't even know existed, as the lab computers
               | weren't connected to anything but power -- and "lock me
               | out of my computer", and threatened suspension unless and
               | until I revealed the password.
               | 
               | After a few minutes trying to explain that no password
               | existed to a "computer literacy" instructor who clearly
               | had no idea what either AUTOEXEC.BAT or the DOS prompt
               | was, nor why booting a networked computer from a
               | potentially untrustworthy floppy disk was a terrible
               | idea, I finally gave in.
               | 
               | "Fine. The password is _works_. Can I go now? "
        
               | layer8 wrote:
               | By the end of the 1980s, a lot of years had passed, and
               | you'd buy an AT instead of an XT.
        
           | keitmo wrote:
           | On systems with a single floppy, drives A: and B: were two
           | logical drives mapped to the same physical drive. This
           | enabled you to (tediously) copy files from one diskette to
           | another.
        
             | dmurray wrote:
             | I don't recall this, and I do recall running something like
             | "diskcopy A: A:" to do that operation.
        
               | pxx wrote:
               | phantom drive B is explicitly mentioned in https://en.wik
               | ipedia.org/wiki/Drive_letter_assignment#Order_...
               | 
               | the linked source checks out. diskcopy will also do this
               | for you if you give it source = dest.
        
         | euroderf wrote:
         | D was typically a CD-ROM drive. So when CD-ROMs went the way of
         | the dinosaurs, where did D go ? Is it always some kind of SYS
         | drive nowadays ?
        
           | kijin wrote:
           | D usually refers to the second internal storage device these
           | days. Either a second SSD, a large HDD, or an extra partition
           | in your system disk. If you don't have any of those, a USB
           | stick might get the D drive temporarily.
        
           | tom_ wrote:
           | It's just whatever happens to end up there? That's why D was
           | typically the CD-ROM: A was the first floppy drive, B the
           | (typically absent) second floppy drive, C the only hard disk,
           | and then D was the next free letter.
           | 
           | On my laptop, D is the SD card slot. On my desktop, it's the
           | 2nd SSD.
        
             | hilbert42 wrote:
             | _" That's why D was typically the CD-ROM:"_
             | 
             | We used to set our machines so the CD-ROM was always drive
             | L. This way we always had 'room' to add HDs so there was no
             | gap in the alphabetical sequence. Drive D - data drive, E -
             | swapfile, etc.
             | 
             | Test and external drives (being temporary) were assigned
             | letters further down than L. Sticking reasonably rigidly to
             | this nomenclature avoided stuff-up such as cloning an empty
             | drive onto one with data on it (cloning was a frequent
             | activity).
             | 
             | Incidentally, this rule applied to all machines, a laptop
             | with HD would have C drive and L as the CD-ROM. Machines
             | with multiple CD-ROMs would be assigned L, M and so on.
        
             | xoxxala wrote:
             | When recordable CDs were brand new, we set up a station at
             | work with two hard drives (C: and D:) and the CD burner
             | (E:). Naturally, the CDR burning software was hard-coded
             | for D: but didn't mention that anywhere (including the
             | error message). Took us a few hours to figure it out.
        
             | retroflexzy wrote:
             | After C:, it really is just allocated in order.
             | 
             | Between CD/DVD drives, writers, Zip Drives, and extra hard
             | drives, it wasn't unusual for a workstation to naturally
             | end up with G: or H:, before mapped network storage became
             | common.
        
             | cesarb wrote:
             | > A was the first floppy drive, B the (typically absent)
             | second floppy drive
             | 
             | As another commenter mentioned, when you didn't have a
             | second floppy drive, A: and B: mapped to two floppy disks
             | in the same floppy drive, with DOS pausing and asking you
             | to insert the other floppy disk when necessary. Which
             | explains why, even on single-floppy computers, the hard
             | disk was at C: and not B: (and since so much software ended
             | up expecting it, the convention continued even on computers
             | without any floppy disk drive).
        
           | tetha wrote:
           | On servers, D is commonly used to push data / vendor
           | installations / other stuff you may want to backup separate
           | from the OS off of the main OS drive C.
        
           | rzzzt wrote:
           | C: is the boot partition with the DoubleSpace driver, D: is
           | the compressed volume.
        
             | lepicz wrote:
             | Stacker compressed volume ;)
        
             | badc0ffee wrote:
             | DriveSpace, surely
        
           | Kwpolska wrote:
           | Depends on your setup. These days, I have a D drive for
           | sharing data with the Linux install I never use. I used to
           | have a D drive for user data (to keep them safe when
           | reinstalling Windows) back in the 9x/XP days (and my CD drive
           | was E).
           | 
           | I also use the drive letter assignment feature, so my
           | external USB drive is always drive X.
        
         | skissane wrote:
         | > I remember when A and B were commonly used drive letters. C
         | was a luxury. D was outright bourgeois.
         | 
         | Our first home computer (late 1980s) was a 386SX with a 40MB
         | hard disk (so maybe we were bourgeois). My dad had to partition
         | it into a 32MB C drive and an 8MB D drive, because the DOS
         | version (3.3?) had a 32MB maximum filesystem size. It had two
         | separate 5.25 inch floppy drives, a 1.2MB and a 360KB -
         | although the 1.2MB drives could read 360KB disks, they couldn't
         | write them in a form readable by 360KB drives, or something
         | like that. And later (circa 1991) we got a 3.5 inch floppy
         | drive too, which became drive A, the 1.2MB became drive B, and
         | the 360KB was relegated to drive E. The FDC that came with the
         | computer (back then they were ISA cards, hadn't been integrated
         | with the motherboard yet) only supported two drives, so he had
         | to buy a new one that supported four.
        
       | arcfour wrote:
       | Hmm. This seems like it could be abused rather hilariously (or
       | not, depending on your perspective) by malware...
        
         | Loughla wrote:
         | If the malware that exploits my machine also runs off the
         | eggplant emoji drive, I'm becoming Amish.
        
       | noinsight wrote:
       | Windows is not limited to accessing partitions through drive
       | letters either, it's just the existing convention.
       | 
       | You can mount partitions under directories just like you can in
       | Linux/Unix.
       | 
       | PowerShell has Add-PartitionAccessPath for this:
       | 
       | > mkdir C:\Disk
       | 
       | > Add-PartitionAccessPath -DiskNumber 1 -PartitionNumber 2
       | -AccessPath "C:\Disk"
       | 
       | > ls C:\Disk
       | 
       | It will persist through reboots too.
        
         | zamadatix wrote:
         | Only for NTFS (both source and dest) though, no exFAT shared
         | drives under a folder mount or what have you. I think the same
         | is actually true of ReFS for some reason.
         | 
         | When you create/format the partition in the GUI tools it'll
         | actually ask if you want to assign a drive letter or mount as a
         | path as well.
        
           | chungy wrote:
           | I just tried mounting a exFAT partition at "C:\exFAT" and it
           | worked just fine.
        
             | Filligree wrote:
             | Other way around. Try mounting E: in your exfat drive.
        
               | p_l wrote:
               | That's because some filesystems like NTFS expose
               | necessary metadata for integration and some don't. FAT
               | and exFAT do not.
        
           | p_ing wrote:
           | RAW partitions can be mounted at a mount point (or drive
           | letter).
           | 
           | Used to be able to use these with SQL Server.... 2000.
        
         | mschuster91 wrote:
         | What, excuse me, _the fuck_? I never knew one could do this.
         | Thanks!
        
           | korhojoa wrote:
           | Back when Windows 2000 was the new thing, I used to put
           | "Program Files" on another disk with this. Starting programs
           | became faster too, as things loaded both from the OS drive
           | and the drive where the programs were installed.
        
           | nolok wrote:
           | It's even available in the regular UI, open "computer
           | management" go to the disk section and many of the 'magic'
           | things about drives in windows world are just UI toggles
        
         | magicalhippo wrote:
         | Don't have to use PowerShell either, it's been available for
         | ages through Disk Management. Right-click on a partition ->
         | Change Drive Letter and Path -> Add -> Mount in following empty
         | NCTS folder.
        
         | EvanAnderson wrote:
         | NTFS mount points can be very handy for engineering around
         | software that doesn't allow you to customize paths. I can
         | choose VM disks with different performance or replication
         | policies and stitch them together like I would on a *nix OS.
         | It's very handy and only in rare occasions have I had
         | applications "notice" it and balk.
        
           | jasomill wrote:
           | Symlinks also work on NTFS, though mount points have the
           | advantage of not having a canonical path that might be
           | unintentionally resolved and persisted.
        
         | jeroenhd wrote:
         | I've used this a few times to put games on exchangeable media.
         | Installers don't like it if you pick an SD card as an install
         | target, but they don't care if C:\Games\Whatever is actually an
         | NTFS mount point that goes unpopulated as soon as I disconnect
         | the memory card. This trick has the downside of confusing
         | installers that try to check free space, though.
         | 
         | For permanently mounted drives, I'd pick symbolic links over
         | mount points because this lets you do file system maintenance
         | and such much easier on a per-drive level. You can still keep
         | everything under C:\ and treat it like a weird / on Unix, but
         | it you need to defragment your backup hard drive you won't need
         | to beat the partition manager into submission to make the
         | defragment button show up for your mounted path.
        
       | vunderba wrote:
       | From the article:
       | 
       |  _> Drives with a drive-letter other than A-Z do not appear in
       | File Explorer, and cannot be navigated to in File Explorer._
       | 
       | Reminds me of the old-school ALT + 255 trick on Win9x machines
       | where adding this "illegal trailing character" made the directory
       | inaccessible from the regular file explorer.
        
         | Telemakhos wrote:
         | Shhh... that's how we hid the Duke Nukem installs on the boxen
         | in the dorm computer lab.
        
         | Someone1234 wrote:
         | Up until recently, you could do the same thing in the Windows
         | Registry to make it so normal Windows tools (e.g. Regedit)
         | couldn't view/modify certain entries. I believe it was still an
         | issue in the last five~ years.
        
         | mavhc wrote:
         | It's even worse now
         | https://borncity.com/win/2023/03/11/windows-10-11-mock-folde...
        
       | perlgeek wrote:
       | Now somebody will uses this to hide their malware, somehow...
        
       | notepad0x90 wrote:
       | The NT paths are how the object manager refers to things. For
       | example the registry hive HKEY_LOCAL_MACHINE is an alias for
       | \Registry\Machine
       | 
       | https://learn.microsoft.com/en-us/windows-hardware/drivers/k...
       | 
       | In this way, NT is similar to Unix in that many things are just
       | files part of one global VFS layout (the object manager name
       | space).
       | 
       | Paths that start with drive letters are called a "DOSPath"
       | because they only exist for DOS compatibility. But unfortunately,
       | even in kernel mode, different sub systems might still refer to a
       | DOSPath.
       | 
       | Powershell also exposes various things as "drives", pretty sure
       | you could create your own custom drive as well for your custom
       | app. For example, by default there is the 'hklm:\' drive path:
       | 
       | https://learn.microsoft.com/en-us/powershell/scripting/sampl...
       | 
       | Get-PSDrive/New-PSDrive
       | 
       | You can't access certificates in linux/bash as a file path for
       | example, but you can in powershell/windows.
       | 
       | I highly recommend getting the NtObjectManager powershell module
       | and exploring about:
       | 
       | https://github.com/googleprojectzero/sandbox-attacksurface-a...
       | 
       | ls NtObject:\
        
         | delusional wrote:
         | > You can't access certificates in linux/bash as a file path
         | for example, but you can in powershell/windows.
         | 
         | I don't understand what you mean by this. I can access them "as
         | a file" because they are in fact just files                   $
         | ls /etc/ca-certificates/extracted/cadir | tail -n 5
         | UCA_Global_G2_Root.pem
         | USERTrust_ECC_Certification_Authority.pem
         | USERTrust_RSA_Certification_Authority.pem
         | vTrus_ECC_Root_CA.pem         vTrus_Root_CA.pem
        
           | kadoban wrote:
           | I _suspect_ they mean that certs imported into MMC in Windows
           | can be accessed at magic paths, but...yeah linux can do that
           | because it skips the step of making a magical holding area
           | for certs.
        
             | notepad0x90 wrote:
             | there are magical holding areas in Linux as well, but that
             | detail is up to TLS libraries like openssl at run-time, and
             | hidden away from their clients. There are a myriad of ways
             | to manage just ca certs, gnutls may not use openssl's
             | paths, and each distro has its own idea of where the certs
             | go. The ideal unix-y way (that windows/powershell gets)
             | would be to mount a virtual volume for certificates where
             | users and client apps alike can view/manipulate certificate
             | information. If you've tried to get a internal certs
             | working with different Linux distros/deployments you might
             | be familiar with the headache (but a minor one I'll admit).
             | 
             | Not for certs specifically (that I know of) but Plan9 and
             | it's derivaties are very hard on making everything VFS
             | abstracted. Of course /proc , /sys and others are awesome,
             | but there are still things that need their own FS view but
             | are relegated to just 'files'. Like ~/.cache ~/.config and
             | all the xdg standards. I get it, it's a standardized path
             | and all, but what's being abstracted is here is not "data
             | in a file" but "cache" and "configuration" (more specific),
             | it should still be in a VFS path, but it shouldn't be a
             | file that is exposed but an abstraction of "configuration
             | settings" or "cache entries" backed by whatever thing you
             | want (e.g.: redis, sqlite, s3,etc..). The windows registry
             | (configuration manager is the real name btw) does a good
             | job of abstracting configurations, but obviously you can't
             | pick and choose the back-end implementation like you
             | potentially could in Linux.
        
               | jeroenhd wrote:
               | > The windows registry (configuration manager is the real
               | name btw) does a good job of abstracting configurations,
               | but obviously you can't pick and choose the back-end
               | implementation like you potentially could in Linux.
               | 
               | In theory, this is what dbus is doing, but through APIs
               | rather than arbitrary path-key-value triplets. You can
               | run your secret manager of choice and as long as it
               | responds to the DBUS API calls correctly, the calling
               | application doesn't know who's managing the secrets for
               | you. Same goes for sound, display config, and the
               | Bluetooth API, although some are "branded" so they're not
               | quite interchangeable as they might change on a whim.
               | 
               | Gnome's dconf system looks a lot like the Windows
               | registry and thanks to the capability to add
               | documentation directly to keys, it's also a lot easier to
               | actually use if you're trying to configure a system.
        
           | notepad0x90 wrote:
           | You can access files that contain certificate information (on
           | any OS), but you can't access individual certificates as
           | their own object. In your output, you're listing files that
           | may or may not contain valid certificate information.
           | 
           | The difference is similar to being able to do 'ls
           | /usr/bin/ls' vs 'ls /proc/12345/...' , the first is a literal
           | file listing, the second is a way to access/manipulate the ls
           | process (supposedly pid 12345). In windows, certificates are
           | not just files but parsed/processed/validated usage specific
           | objects. The same applies on Linux but it is up to openssl,
           | gnutls,etc... to make sense of that information. If
           | openssl/gnutls had a VFS mount for their view of the
           | certificates on the system (and GPG!!) that would be similar
           | to cert:\ in powershell.
        
           | jeroenhd wrote:
           | Linux lacks a lot of APIs other operating systems have and
           | certificate management is one of them.
           | 
           | A Linux equivalent of listing certificates through the
           | Windows virtual file system would be something like listing
           | /proc/self/tls/certificates (which doesn't actually exist, of
           | course, because Linux has decided that stuff like that is the
           | user's problem to set up and not an OS API).
        
         | p_ing wrote:
         | PnP PowerShell also includes a PSDrive provider [0] so you can
         | browse SharePoint Online as a drive. These aren't limited to
         | local sources.
         | 
         | [0] https://pnp.github.io/powershell/cmdlets/Connect-
         | PnPOnline.h...
        
         | eloisant wrote:
         | It's baffling than after 30 years, Windows is still stuck in a
         | weird directory naming structure inherited from the 80's that
         | no longer make sense when nobody has floppy drives.
        
           | leptons wrote:
           | Windows can still run software from the 80's, backwards
           | compatibility has always been a selling point for Windows, so
           | I'd call that a win.
        
             | chasing0entropy wrote:
             | My original VB6 apps (mostly) still run on win11
        
               | mananaysiempre wrote:
               | Hmm. IME VB6 is actually a particular pain point, because
               | MDAC (a hodgepodge of Microsoft database-access thingies)
               | does not install even on Windows 10, and a line-of-
               | business VB6 app is very likely to need that. And of
               | course you _can't_ run apps from the 1980s on Windows 11
               | natively, because it can no longer run 16-bit apps,
               | whether DOS or Windows ones. (All 32-bit Windows apps are
               | definitionally not from the 1980s, seeing as the Tom
               | Miller's sailboat trip that gave us Win32 only happened
               | in 1990. And it's not the absence of V86 mode that's the
               | problem--Windows NT _for Alpha_ could run DOS apps, using
               | a fatter NTVDM with an included emulator. It's purely
               | Microsoft's lack of desire to continue supporting that
               | use case.)
        
               | drxzcl wrote:
               | Wait, what's the story of the sailboat trip? My searches
               | are coming up empty, but it sounds like a great story.
        
               | mananaysiempre wrote:
               | Yeah, I was surprised by the lack of search results when
               | I was double-checking my post too, but apparently I
               | wasn't surprised enough, because I was wrong. I mixed up
               | two pieces of _Showstopper!_ : chapter 5 mentions the
               | Win32 spec being initially written in two weeks by
               | Lucovsky and Wood
               | 
               | > Lucovsky was more fastidious than Wood, but otherwise
               | they had much in common: tremendous concentration, the
               | ability to produce a lot of code fast, a distaste for
               | excessive documentation and self-confidence bordering on
               | megalomania. Within two weeks, they wrote an eighty-page
               | paper describing proposed NT versions of hundreds of
               | Windows APIs.
               | 
               | and chapter 6 mentions the _NTFS_ spec being initially
               | written in two weeks by Miller and one other person on
               | Miller's sailboat.
               | 
               | > Maritz decided that Miller could write a spec for NTFS,
               | but he reserved the right to kill the file system before
               | the actual coding of it began.
               | 
               | > Miller gathered some pens and pads, two weeks' worth of
               | provisions and prepared for a lengthy trip on his twenty-
               | eight-foot sailboat. Miller felt that spec writing
               | benefited from solitude, and the ocean offered plenty of
               | it. [...] Rather than sail alone, Miller arranged with
               | Perazzoli, who officially took care of the file team, to
               | fly in a programmer Miller knew well. He lived in
               | Switzerland.
               | 
               | > In August, Miller and his sidekick set sail for two
               | weeks. The routine was easy: Work in the morning, talking
               | and scratching out notes on a pad, then sail somewhere,
               | then talk and scratch out more notes, then anchor by
               | evening and relax.
               | 
               | (I'm still relatively confident that the Win32 spec was
               | written in 1990; at the very least, _Showstopper!_
               | mentions it being shown to a group of app writers on
               | December 17 of that year.)
        
             | AndrewDavis wrote:
             | Didn't Microsoft drop 16 bit application support in Windows
             | 10? I remember being saddened by my exe of Jezzball I've
             | carried from machine to machine no longer working.
        
               | mkup wrote:
               | Microsoft has dropped 16-bit application support via
               | builtin emulator (NTVDM) from 64-bit builds of Windows,
               | whether it happens to be Windows 10 or earlier version of
               | Windows, depends on user (in my case, it was Windows
               | Vista). However, you can still run 16-bit apps on 64-bit
               | builds of Windows via third party emulators, such as
               | DOSBox and NTVDMx64.
        
               | notepad0x90 wrote:
               | and Linux stopped supporting 32bit x86 I think around the
               | same time? (just i386?)
        
             | anonymous_sorry wrote:
             | It's very impressive indeed.
             | 
             | Linux goal is only for code compatibility - which makes
             | complete sense given the libre/open source origins. If the
             | culture is one where you expect to have access to the
             | source code for the software you depend on, why should the
             | OS developers make the compromises needed to ensure you can
             | still run a binary compiled decades ago?
        
           | notepad0x90 wrote:
           | I like being able to run games from early 2000s. Being able
           | to write software that will still run longer after you're
           | gone used to be a thing. But here we are with linux
           | abandoning things like 'a.out'. Microsoft doesn't have the
           | luxury to presume that it's users can recompile software,
           | fork it, patch it,etc.. When your software doesn't work on
           | the latest Windows, most people blame Microsoft not the
           | software author.
        
             | Gud wrote:
             | Ok, I prefer to use software which is future compatible,
             | like ZFS, which is 128-bit.
             | 
             | "The file system itself is 128 bit, allowing for 256
             | quadrillion zettabytes of storage. All metadata is
             | allocated dynamically, so no need exists to preallocate
             | inodes or otherwise limit the scalability of the file
             | system when it is first created. All the algorithms have
             | been written with scalability in mind. Directories can have
             | up to 248 (256 trillion) entries, and no limit exists on
             | the number of file systems or the number of files that can
             | be contained within a file system."
             | 
             | https://docs.oracle.com/cd/E19253-01/819-5461/6n7ht6qth/ind
             | e...
             | 
             | Don't want to hit the quadrillion zettabyte limit..
        
               | bhaney wrote:
               | > Directories can have up to 248 (256 trillion) entries
               | 
               | It took me a minute to figure out that this was supposed
               | to be 2^48, but even then that's ~281 trillion. What a
               | weird time for the tera/tibi binary prefix confusion to
               | show up, when there aren't even any units being used.
        
             | simondotau wrote:
             | I don't like running games from the early 2000s outside of
             | a sandbox of some description. If you disagree, it's
             | because we don't have sandboxes which don't suck. Ideally,
             | running old software in a sandbox on a modern OS should be
             | borderline transparent -- not like installing XP in a
             | virtual machine.
             | 
             | While I understand the appeal of software longevity, and I
             | think it's a noble and worthy pursuit, I also think there
             | is an under-appreciated benefit in having unmaintained
             | software less likely to function on modern operating
             | systems. Especially right now, where the concept of serious
             | personal computer security for normal consumers is arguably
             | less than two decades old.
        
             | amarant wrote:
             | Wait are you saying Linux broke user-space? I've completely
             | missed this and would like to know more, may I be so bold
             | as to request a link?
        
               | cesarb wrote:
               | > > But here we are with linux abandoning things like
               | 'a.out'.
               | 
               | > I've completely missed this and would like to know
               | more, may I be so bold as to request a link?
               | 
               | "A way out for a.out" https://lwn.net/Articles/888741/
               | 
               | "Linux 6.1 Finishes Gutting Out The Old a.out Code"
               | https://www.phoronix.com/news/Linux-6.1-Gutting-Out-a.out
               | (with links to two earlier articles)
        
           | BobbyTables2 wrote:
           | Yeah, try explaining "drive C:" to a kid these days, and why
           | it isn't A: or B: ...
           | 
           | Of course software developers are still stuck with 80 column
           | conventions even though we have 16x9 4K displays now...
           | Didn't that come from punchcards ???
        
             | ahoef wrote:
             | While 80 characters is obviously quite short, my experience
             | is that longer line lengths result in much less readable
             | code. You have to try to be concise on shorter lines, with
             | better phrasing.
        
             | Sharlin wrote:
             | It did, but 80 columns also pretty closely matches the
             | 50ish em/70ish character paragraph width that's usually
             | recommended for readability. I myself wouldn't go much
             | higher than 100 columns with code.
        
             | strogonoff wrote:
             | Come for punchcards, stay for legibility.
             | 
             | 80 characters per line is an odd convention in the sense
             | that it originated from a technical limitation, but is in
             | fact a rule of thumb perfectly familiar to any typesetting
             | professional from long before personal computing became
             | widespread.
             | 
             | Remember newspapers? Laying the text out in columns[0] is
             | not a random quirk or result of yet another technology
             | limitation. It is the same reason a good blog layout sets a
             | conservative maximum width for when it is read on a
             | landscape oriented screen.
             | 
             | The reason is that when each line is shorter, the entire
             | thing becomes easier to read. Indeed, even accounting for
             | legibility hit caused by hyphenation.
             | 
             | Up to a point, of course. That point may differ depending
             | on the medium and the nature of the material: newspapers,
             | given they deal with solid plain text and have other layout
             | concerns, limit a line to around 50 characters; a book may
             | go up to 80 characters. Given a program is not a relaxed
             | fireside reading, I would place it closer to the former,
             | but there are also factors and conventions that could bring
             | acceptable line length up. For example, indentation and
             | syntax highlighting, or typical identifier length (I'm
             | looking at you, CNLabelContactRelationYoungerCousinMothersS
             | iblingsDaughterOrFathersSistersDaughter), or editor
             | capability to wrap lines nicely[1].
             | 
             | Finally, since the actual technical limitation is gone, it
             | is actually not such a big deal to violate the line length
             | rule on occasion.
             | 
             | [0] Relatedly, codebases roughly following the 80 character
             | line length limitation unlock more interesting columnar
             | layouts in editors and multiplexers.
             | 
             | [1] Isn't the auto-wrap capability in today's editors good
             | enough that restricting line length is pointless at the
             | authoring stage? Not really, and (arguably) especially not
             | in case of any language that relies on indentation. Not
             | that it could not be good enough, but considering code
             | becomes increasingly write-only it seems unlikely we will
             | see editors with perfect, context-sensitive, auto-wrap any
             | time soon.
        
               | Xss3 wrote:
               | 80 chars per line was invented when languages used
               | shortened commands though. Nowadays 120 is more
               | appropriate. Especially in Powershell. Not so much in
               | bash where commands are short, 80 can stay alive there!
        
               | PaulDavisThe1st wrote:
               | When I read text I prefer it to use the lessons
               | 
               | of typography and not be overly wide, lest my saccadic
               | 
               | motion leads my immersion and comprehension astray.
               | However when I read code I do not want to scan downwards
               | to complete the semantics of a given expression because
               | that will also break my comprehension and so when a line
               | of code is long I'd prefer for it to remain long unless
               | there are actually multiple clauses              and
               | other conditionally chained              semantic
               | elements              that are more easily read alone
        
               | naikrovek wrote:
               | I'm very sure this is a myth. Like any good myth, it
               | makes sense on the surface but holds zero water once you
               | look close.
               | 
               | Code isn't prose. Code doesn't always go to the line
               | length limit then wrap, and prose doesn't need a new line
               | after every sentence.
               | 
               | The rules about how code and prose are formatted are
               | different, so how the human brain finds the readability
               | of each is _necessarily different_.
               | 
               | No code readability studies specifically looking for
               | optimal line length have been done, to my knowledge. It
               | may turn out to be the same as prose, but I doubt it. I
               | think it will be different depending on the language and
               | the size of the keywords in the language and the size of
               | the given codebase. Longer keywords and method/function
               | names will naturally lead to longer comfortable line
               | lengths.
               | 
               | The 80-column limit was originally a technical one only.
               | It has remained because of backwards compatibility and
               | tradition.
        
             | mavhc wrote:
             | Try explaining files to a kid these days
        
             | perching_aix wrote:
             | It really wouldn't be much of a conversation. Historical
             | conventions are a thing in general. Just think of the
             | direction of electron flow.
             | 
             | > even though we have 16x9 4K displays now
             | 
             | Pretty much no normal person uses those at 100% scaling
             | though, so unless you're thinking of the fellas who use a
             | TV for a monitor, that doesn't actually help so much:
             | 
             | - 100% scaling: 6 panels of 80 columns fit, no px go to
             | waste
             | 
             | - 125% scaling: 4 panels of 80 columns fit, 64 px go to
             | waste (8 cols)
             | 
             | - 150% scaling: 4 panels of 80 columns fit, no px go to
             | waste
             | 
             | - 175% scaling: 3 panels of 80 columns fit, 274 px go to
             | waste (34 cols)
             | 
             | - 200% scaling: 3 panels of 80 columns fit, no px go to
             | waste
             | 
             | This sounds good until you need any additional side panels.
             | Think line numbers, scrollbars, breakpoint indicators, or
             | worse: minimaps, and a directory browser. A minimap is
             | usually 20 cols/panel, a directory browser is usually 40
             | cols. Scrollbar and bp-indicator together 2 cols/panel.
             | Line numbers, probably safe to say, no more than 6
             | cols/panel.
             | 
             | With 2 panels, this works out to an entire additional panel
             | in overhead, so out of 3 panels only 2 remain usable.
             | That's the fate of the 175% and 200% options. So what is
             | the "appropriate" scaling to use?
             | 
             | Well PPI-wise, if you're rocking a 32" model, then 150%. If
             | a 27" model, then 175%. And of course, given a 22"-23"-24"
             | unit, then 200%. People of course get sold on these for the
             | "additional screen real estate" though, so they'll instead
             | sacrifice seeing the entire screen at once and will put on
             | their glasses. Maybe you prefer to drop down by 25% for
             | each of these.
             | 
             | All of this is to say, it's not all that unreasonable. I
             | personally feel a bit more comfortable with a 100 col
             | margin, but I do definitely appreciate when various files
             | nicely keep to the 80 col mark, they're a lot nicer to work
             | with side-by-side.
        
           | ForOldHack wrote:
           | In the 80s, running DOS 3.1 on an IBM Network, I was
           | networking dual floppy PCs, and with testing, got through
           | drive '!' '@' '#' '^' So I was able to use 26 floppies, 24 of
           | them non local... It was all removed with the next release,
           | 3.2, so I would make some bets about NT Networking and its
           | NetBIOS roots.
           | 
           | I was inspired by the Dr Seuss, "On beyond Zebra."
        
           | naikrovek wrote:
           | It's not baffling at all. They strongly value maintaining
           | backwards compatibility guarantees.
           | 
           | For example, Windows 11 has no backwards compatibility
           | guarantees for DOS but operating systems that they do have
           | backwards compatibility guarantees for do.
           | 
           | Enterprises need Microsoft to maintain these for as long as
           | possible.
           | 
           | It is AMAZING how much inertia software has that hardware
           | doesn't, given how difficult each are to create.
        
             | wizzwizz4 wrote:
             | The 3.5mm audio jack is 75 years old, but electrically-
             | compatible with a nearly 150-year-old standard.
        
               | naikrovek wrote:
               | Yeah speakers haven't changed enough to make the 3.5mm
               | connector obsolete.
        
         | anthk wrote:
         | ReactOS has a graphical NT OBJ browser (maybe as a CLSID) where
         | you can just open an Explorer window and look up the whole
         | registry hierarchy and a lot more.
         | 
         | It works under Windows too.
         | 
         | Proof:
         | 
         | https://winclassic.net/thread/1852/reactos-registry-ntobject...
        
       | theandrewbailey wrote:
       | This topic would make a good post on The Old New Thing.
        
       | rwmj wrote:
       | This is an interesting reference about how drive letters are
       | stored in the Windows Registry:
       | http://www.goodells.net/multiboot/partsigs.shtml
       | 
       | I never tried, but I wonder if you could use direct registry
       | editing to create some really strange drive letters.
        
       | lutusp wrote:
       | I hope this article gets archived in a computer history, so
       | people in the future can read how today's default operating
       | system persisted in requiring its vict..., umm, users, to honor
       | an archaic practice long past any imaginable justification, while
       | free alternative operating systems don't have this handicap.
       | 
       | I regularly have this conversation with my end-user neighbor -- I
       | explain that he has once again written his backup archive onto
       | his original because he plugged in his Windows USB drives _in the
       | wrong sequence_. His reply is, more or less,  "Are computers
       | still that backward?" "No," I reply, "Windows is still that
       | backward."
       | 
       | The good news is that Linux is more sophisticated. The bad news
       | is that Linux _users_ must be more sophisticated as well. But
       | this won 't always be true.
        
         | rwmj wrote:
         | Are Linux /dev device paths (originating from Unix) really much
         | better? They're a pretty odd feature if you think about it.
         | "Everything is a file", except only certain things can be files
         | and at least by convention they only appear under /dev. Plan 9
         | takes the everything is a file concept to its logical
         | conclusion and is much better designed.
         | 
         | Edit: Also /dev/sdX paths in Linux are _not_ stable. They can
         | and do vary across boot, since Linux 5.6.
        
           | lutusp wrote:
           | > Are Linux /dev device paths (originating from Unix) really
           | much better?
           | 
           | Not better at all, which is why Linux uses partition UUIDs to
           | identify specific storage partitions, regardless of hardware
           | identifiers. This isn't automatic, the user must make it
           | happen, which explains why Linux users need to know more than
           | Windows users (and why Linux adoption is stalled).
           | 
           | > Edit: Also /dev/sdX paths in Linux are not stable. They can
           | and do vary across boot, since Linux 5.6.
           | 
           | Yes, true, another reason to use partition UUIDs.
           | 
           | > Plan 9 takes the everything is a file concept to its
           | logical conclusion and is much better designed.
           | 
           | It's a shame that Plan 9 didn't get traction -- too far ahead
           | of its time I guess.
        
             | dist-epoch wrote:
             | Windows drive letters are also linked to some partition
             | UUIDs, which is why you can move a partition to a different
             | drive, or move drive to a different address (change
             | SATA/m.2 port)
             | 
             | You can use mountvol command to see the mount-letter/GUID
             | mapping.
        
             | hakfoo wrote:
             | I always saw it as two different mindsets for data storage.
             | 
             | One vision is "medium-centric". You might want paths to
             | always be consistently relative to a specific floppy disc
             | regardless of what drive it's in, or a specific Seagate
             | Barracuda no matter which SATA socket it was wired to.
             | 
             | Conversely it might make more sense to think about things
             | in a "slot-centric" manner. The left hand floppy is drive A
             | no matter what's in it. The third SATA socket is /dev/sdc
             | regardless of how many drives you connected and in what
             | order.
             | 
             | Either works as long as it's consistent. Every so often my
             | secondary SSD swaps between /dev/nvme0 and /dev/nvme1 and
             | it's annoying.
        
               | ElectricalUnion wrote:
               | And the sad thing is that stuff directly in `/dev` isn't
               | neither, it's just "first come first served" order, that
               | is more or less guaranteed to be non-deterministic BS.
               | One is supposed to use udev /dev/disk/by-path/ subtree if
               | one really wants "slot-centric" connections.
        
               | cesarb wrote:
               | > One vision is "medium-centric". You might want paths to
               | always be consistently relative to a specific floppy disc
               | regardless of what drive it's in, or a specific Seagate
               | Barracuda no matter which SATA socket it was wired to.
               | 
               | > Conversely it might make more sense to think about
               | things in a "slot-centric" manner. The left hand floppy
               | is drive A no matter what's in it. The third SATA socket
               | is /dev/sdc regardless of how many drives you connected
               | and in what order.
               | 
               | A third way, which I believe is what most users actually
               | want, is a "controller-centric" view, with the caveat
               | that most "removable media" we have nowadays has its own
               | built-in controller. The left hand floppy is drive A no
               | matter what's in it, the top CD-ROM drive is drive D no
               | matter what's in it, but the removable Seagate Expansion
               | USB drive containing all your porn is drive X _no matter
               | which USB port you plugged it in_ , because the
               | controller resides together with the media in the same
               | portable plastic enclosure. That's also the case for
               | SCSI, SATA, or even old-school IDE HDDs; you'd have to go
               | back to pre-IDE drives to find one where the controller
               | is separate from the media. With tape, CD/DVD/BD, and
               | floppy, the controller is always separate from the media.
        
         | stockresearcher wrote:
         | This has (more or less) been covered before!
         | 
         | https://news.ycombinator.com/item?id=17652502
         | 
         | VMS expects to be run as a cluster of machines with a single
         | drive system. How that actually happens is "hidden" from user
         | view, and what you see are "logicals", which can be stacked on
         | top of each other and otherwise manipulated by a user/process
         | without affecting the underlying file system. The results can
         | be _insane_ in the hands of inexperienced folks. But that is
         | where NT came from.
        
           | lutusp wrote:
           | All true, all good points. Some day partitions and their
           | unique UUIDs will be the sole valid identifiers. Then end
           | users will have to be warned not to copy entire partitions
           | including their (no longer unique) UUID. Sounds bizarre but
           | I've had that exact conversation.
        
       | robocat wrote:
       | Similar corner cases are the bedrock of security flaws.
       | 
       | If anyone adds this behaviour as a bet on a market about a future
       | CVE or severity, can they add a link to the bet here?
        
       | pdntspa wrote:
       | Seems like a great way to hide a bunch of files from users for a
       | malware payload
        
       | WarOnPrivacy wrote:
       | In my first DOS, the drive letter after Z was AA. I created a
       | series of small RAM drives to find out.
       | 
       | That may have been DOS 3.3, not later. IDK when it changed.
        
       | ddtaylor wrote:
       | I never knew L was the upper case version of l.
        
       | layer8 wrote:
       | > drive letters are essentially just a convention borne out of
       | the conversion of a Win32 path into a NT path
       | 
       | CMD also has the concept of a current drive, and of a per-drive
       | current directory. (While "X:\" references the root directory of
       | drive X, "X:" references whatever the current directory of drive
       | X is. And the current directory, i.e. ".", is the current
       | directory of the current drive.) I wonder how those mesh with
       | non-standard drive letters.
        
         | squeek502 wrote:
         | They work just fine, as the drive-specific CWD is stored in the
         | environment as a normally-hidden =<drive-letter>: environment
         | variable which has all the same WTF-16 and case-insensitive
         | properties as drive letters:                   C:\> cd /D l:\
         | l:\> cd bar              l:\bar> cd /D C:\              C:\>
         | echo %=L:%         l:\bar              C:\> cd /D L:
         | l:\bar>
        
       | ddtaylor wrote:
       | For anyone curious there is a somewhat similar thing in Linux
       | called Abstract Domain Sockets. These are Unix domain sockets
       | where the first character is NUL ('\0')
       | 
       | I am working on a game where every player has system resources on
       | a Linux computer. The basic idea is that some resources need to
       | be shared or protected in some ways, such as files, but the core
       | communication of the game client itself needs to be preserved
       | without getting in the way of the real system environment.
       | 
       | I am using these abstract data sockets because they sidestep most
       | other permissions in Linux. If you have the magic numbers to find
       | the socket, you get access.
        
         | bandie91 wrote:
         | > If you have the magic numbers
         | 
         | or find it in /proc/net/unix
        
       | layer8 wrote:
       | > Non-ASCII drive letters are even case-insensitive like A-Z are
       | 
       | I wonder, does `subst I: .` create i: or i: under the Turkish
       | locale?
        
       | WalterBright wrote:
       | 26 drives should be enough for anyone.
        
       | xori wrote:
       | The real question is can Windows defender scan these drives?
        
         | jasomill wrote:
         | I don't know what it scans in the background by default, but it
         | can custom scan mounted volumes with no visible mount points
         | assigned at all, _e.g.,_ my EFI partition containing a copy of
         | the EICAR test file[1]:                 PS C:\Users\jtm> &
         | 'C:\Program Files\Windows Defender\MpCmdRun.exe' -Scan
         | -ScanType 3 -File '\\?\Volume{91ada2dc-
         | bb55-4d7d-aee5-df40f3cfa155}\'       Scan starting...
         | Scan finished.       Scanning \\?\Volume{91ada2dc-
         | bb55-4d7d-aee5-df40f3cfa155}\ found 1 threats.       Cleaning
         | started...       Cleaning finished.
         | 
         | [1] https://www.eicar.org/download-anti-malware-testfile/
        
       | joquarky wrote:
       | I miss the 'assign' feature on the Amiga.
        
       ___________________________________________________________________
       (page generated 2025-11-30 23:00 UTC)