Created attachment 157077 [details] The label not being editable in the Properties window on a FAT32 partition and how the label looked like before being edited from the terminal with the fatlabel command SUMMARY KDE Partition Manager cannot change the label on a FAT32 partition STEPS TO REPRODUCE 1. Open KDE Partition Manager 2. Create or use a GPT partition table on some disk 3. Create or use a FAT32 partition with a label 4. Open from the the context menu, on that partition, the Properties window OBSERVED RESULT While the text in the label field is selectable and copyable, which is great, there's no cursor there to allow you to edit that text and change it to something else or leave it empty, which should be similar to the state where no label exists, like before one was added. EXPECTED RESULT 1. I expect to be able to edit the label on a FAT32 partition like I can do for other partition types. 2. I expect also that if I delete whatever text was there, so leave it empty, to be like I deleted it, in a similar state as if I never added it, if there's such a difference 3. I expect to be able to edit the name of a FAT32 partition too, but a text field should be added for that first, which maybe will be done when another bug will be fixed: https://bugs.kde.org/show_bug.cgi?id=466992 SOFTWARE/OS VERSIONS Linux/KDE Plasma: KDE Plasma Version: 5.27.2 KDE Frameworks Version: 5.103 Qt Version: 5.15.8 ADDITIONAL INFORMATION I discovered this bug because I created a few partitions with GParted before installing my OS, including a small FAT32 one for EFI files. Since I like to be a bit organized and I wanted to better understand where all partitions are mounted and used, I filled in the names and labels for them, including this small one, where I've put: Name: EFI-name Label: EFI-label To my surprise, the only label that wasn't exactly like I typed was on this small FAT32 partion, which ended up as "EFI-LABEL" for some reason. I thought that maybe the FAT32 is too old and didn't support lowercase or mixedcase in labels, but today I searched and found out that this is actually not the case as FAT32 supports lowercase or mixed case in labels. It's just Gparted and Windows that doesn't support them. Since I don't dual-boot and have Windows on my computer anymore, I decided to edit it and make it as I wanted, which I couldn't, hence this bug report. Then I decided to try this answer, from where I found out that it should work, on my FAT32 EFI partition: https://superuser.com/a/1575427 With this command: sudo fatlabel /dev/nvme0n1p1 "EFI-label" And its output was: fatlabel: warning - lowercase labels might not work properly on some systems There are differences between boot sector and its backup. This is mostly harmless. Differences: (offset:original/backup) 65:01/00 Not automatically fixing this. I then did a "Refresh devices" in both KDE Partition manager and Gparted, that I had opened before running the command and in both of them the FAT32 EFI partition shows now a label of "EFI-label", exactly how I wanted from the beginning and in a similar patter with the labels of the other partitions So, it's definitely possible to: 1. Set / edit the label of a FAT32 partition. 2. Set / edit the label of a FAT32 partition even if that partition is currently mounted (on /boot/efi, in my case). 3. Lowercase or mixedcase for the label of a FAT32 partition is allowed. 4. The fatlabel command is already installed, at least on my Debian 12 (unstable repository) that I used. BTW, can anyone please check if this bug is related: https://bugs.kde.org/show_bug.cgi?id=255831 I find the the second comment a bit confusing or outdated because: 1. "View -> File System Support" is now "Tools -> File System Support". 2. "so the behaviour you describe is expected" is not expected anymore, as the file system support shows now for FAT32, that both read and write label are supported, provided by dosfstools package, which at least on my Debian 12 is installed by default. 3. "Note that you cannot change the label as long as the file system is mounted." I just did change the label the the FAT32 EFI partition being mounted on /boot/efi. I also seen that a bug not allowing to set the label on a FAT32 partition was once fixed: https://bugs.kde.org/show_bug.cgi?id=254212 If you can add a label, it doesn't make much sense to not be able to delete or edit one too. A way to return to the previous state, before adding the label should be possible. And if it's possible to create a new partition with a label let's call it "Test-label", it should be possible too to arrive at that partition label from a partition that had it as "Other-label" without having to delete the partition and create it again with the label as "Test-label" at creation time. Looking at the command: man fatlabel I see that fatlabel is part of the dosfstools package, which KDE Partition Manager says it uses, where the read and write label is supported for the FAT32 file system. Since I tested the fatlabel o my system and both KDE Partition Manager and GParted show successfully the new label, I see no reason anymore why KDE Partition manager would not allow editing the label in the Properties window.
Changing it to uppercase was a deliberate commit: commit 5a30aff288fce05c540786ab9001cb0217f29494 Author: Pali Rohár <pali.rohar@gmail.com> Date: Tue Sep 26 19:01:20 2017 +0200 Set FAT label in upper case FAT label should be stored in upper case. Also Windows systems doing it. I think it is to avoid confusion to those users who actually do dual booting. Otherwise if we enable lowercase, those users who need uppercase for better Windows support won't know that they need it uppercase.
I have found out that it is possible to change the Label, if you unmount the partition first. If it is unwanted to deactivate the label field (to be able to copy the existing label), then I would suggest adding a tooltip explaining why it is not editable. For example: "Unmount this partition to be able to edit label."
Created attachment 162303 [details] Trying to change mounted FAT32 label, not explained why it is impossible
(In reply to Andrius Štikonas from comment #1) > Changing it to uppercase was a deliberate commit: > > commit 5a30aff288fce05c540786ab9001cb0217f29494 > Author: Pali Rohár <pali.rohar@gmail.com> > Date: Tue Sep 26 19:01:20 2017 +0200 > > Set FAT label in upper case > > FAT label should be stored in upper case. Also Windows systems doing it. > > I think it is to avoid confusion to those users who actually do dual > booting. Otherwise if we enable lowercase, those users who need uppercase > for better Windows support won't know that they need it uppercase. The FAT32 specification supports lowercase / mixed-case labels: https://superuser.com/a/137576 https://superuser.com/a/1575427 With other tools, it's possible to set it as lower-case / mixed-case: https://superuser.com/a/1289605 https://ubuntuforums.org/showthread.php?t=1603044&s=d3d3bab95407af15549cd89cfc27e74d&p=10010142#post10010142 https://ubuntuforums.org/showthread.php?t=1603044&s=d3d3bab95407af15549cd89cfc27e74d&p=10018954#post10018954 https://ubuntuforums.org/showthread.php?t=1603044&page=2&p=10019023#post10019023 And the confirmation that Acronis Disk Director can do that can be seen in the section "Label characters not allowed in FAT16 and FAT32" of: https://dl.acronis.com/u/pdf/ADD12H_userguide_en-US.pdf Where is says nothing about lowercase characters or anywhere else in the document. People say that Windows does this for its backwards compatibility: https://www.reddit.com/r/explainlikeimfive/comments/i3bb3p/comment/g0agnfn/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button https://www.reddit.com/r/explainlikeimfive/comments/i3bb3p/comment/g0az3l8/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button Maybe it's little known or recently possible, but Windows can be configured to allow mixed-case too: https://www.scaledeskit.net/post/Setting-a-mixedcase-volume-label-for-a-FAT32-drive-on-Windows I find "Windows will not allow FAT or FAT32 devices to use lower case letters." is nicely put in this article: https://www.getusb.info/why-is-my-usb-name-always-caps/ Another limitation that Windows has and will not let you format drives, is the 32 GiB max partition size: https://superuser.com/a/521715 Now, considering the following things: 1. Microsoft made the FAT32 filesystem 2. Microsoft can fix / improve it, if it wants to 3. Microsoft can fix / improve, eliminate limitations to it in future Windows version or in the current ones through updates and maybe it will, one day 4. Windows can be configured to allow mixed-case 5. I don't care about Windows' backwards compatibility with it's previous versions, tools 6. I don't care if the FAT32 filesystem that I made on my computer's internal drive or external flash drive works well, or even at all with Windows, as I don't use Windows on any of my computers on which I'm going to use that FAT32 partition 7. I can already set lowercase labels with other tools, it's just a bit more annoying as have have to switch tools and possibly go into terminal to type commands 8. I did it, I tested it and it works, without problems. 9. KDE Partition manager already lets me do things that are known or supposed to not work well or at all with Windows, things that Windows, like with lower-case FAT32 labels, would not let me do, for example: -A FAT32 partition larger than 32 GiB, I just tested with 100 GiB partition and it works, it made it without any complaint, as I expected. -A Ext(2-4), F2FS, Linuxswap, lvm2 pv, unformatted which are know to not work well or at all with Windows. 10. KDE Partition manager already lets me to do things that might not be compatible with Linux itself like formatting / deleting essential partitions 11. KDE Partition manager is intended for advanced users, people who know what they are doing and / or have safe environments like new computers, new drives 12. Making a lowercase or mixed-case label is not going to trigger Windows to crash and burn, format itself, brick the computer and it's not a permanent thing, it can be tried again So why are we the Linux users or the Linux-only users who normally have the freedom to even remove the desktop environment, display server and even the Linux kernel and bootloader, limited here for the sake of Windows backwards compatibility? Even when we don't care or use Windows at all? Even when we know what we're doing? Even in a tool for people who know what they are doing? Even when you can actually do the incompatible or not working change again and again until it works the way we want or we learn something? Even when that tool does not limit / restrict other things that might not be good for a Windows environment? Where do you draw a line of what actions are accepted and what not for the sake of compatibility with Windows or Windows's backwards compatibility? What's with the restrictions and limitation of the power of KDE software for the same of compatibility with Windows? Why isn't there just a warning and let us do what we want or an option in the configuration to ignore the backwards compatibility or any compatibility with Windows instead of silently changing every label to uppercase? Honestly I find this babyproofing very annoying! And I find assumptions instead of asking or let me bypass them very annoying too! Besides the fact that this goes against the freedom that I have been used with Linux, which lets me to do whatever I want as I know what I'm doing.
(In reply to Andrew Shark from comment #3) > Created attachment 162303 [details] > Trying to change mounted FAT32 label, not explained why it is impossible True. That thing needs to be improved too as It's very confusing to now know why you are not allowed to do that and the solution is actually very simple. I have found this too on my own, but the other problem with assuming that you want maximum compatibility with Windows instead of asking or let you bypass it, still remains unfortunately. And I hate to use a graphical tool because I did not want to use a text-based tool in the terminal, which then actually forces me to use the text-based tool in the terminal as not all functionality is implemented or too many assumptions are made in the graphical tool.
Git commit a13d8d30bd24f9f21f5235933418fc629a010ded by Andrius Štikonas. Committed on 28/01/2024 at 01:52. Pushed by stikonas into branch 'master'. Allow lowercase FAT labels. M +2 -2 src/fs/fat12.cpp https://invent.kde.org/system/kpmcore/-/commit/a13d8d30bd24f9f21f5235933418fc629a010ded
I really appreciate this, thank you very much! I will test it when this reaches my KDE Neon install.
It is not fully fixed. Only the uppercase letters were fixed. But still, there is no explanation to the user why he is not able to change the label when the volume is mounted.
True. But I think we need to check which are all the cases that are not possible to do when a volume is mounted so when a developer tries to fix it, it can fix it for all of them.