Тип файловой системы в Linux показывает lsblk -f: команда выводит диски, разделы, их ФС, метки, UUID и точки монтирования. Для одного конкретного раздела точнее blkid /dev/sda1, для смонтированных томов - df -T и findmnt. В Windows ту же задачу решают Get-Volume в PowerShell, diskpart с командой list volume и fsutil fsinfo volumeinfo C:.
Все перечисленные утилиты входят в базовую поставку операционных систем. lsblk, blkid и findmnt поставляются в пакете util-linux, df - в coreutils, командлеты семейства Storage (Get-Volume, Get-Partition, Get-Disk) доступны в Windows Server 2012 и новее, включая Windows Server 2022/2025, и в клиентских Windows 10/11. Ставить сторонний софт не нужно.
Дальше - примеры вывода и разбор полей, типичные ловушки (LVM2_member, crypto_LUKS, linux_raid_member, BitLocker вместо реальной ФС), проверка удалённых серверов через SSH, Ansible, PowerShell Remoting и системы мониторинга, таблица соответствий команд и чек-лист перед mkfs, resize2fs или миграцией данных.
Зачем определять тип файловой системы и что вы получите из статьи
Практических поводов несколько, и почти все связаны с риском потерять данные или время:
- Перед mkfs и разметкой. Команда mkfs.ext4 /dev/sdb1 затирает существующую ФС вместе с содержимым. lsblk -f и blkid показывают, что на разделе уже лежит.
- Перед расширением или сжатием. ext4 растят через resize2fs, XFS - через xfs_growfs (только в сторону увеличения), NTFS - через Resize-Partition, Btrfs - через btrfs filesystem resize. Команда зависит от типа ФС.
- Перед записью в /etc/fstab. Нужны точные TYPE и UUID либо PARTUUID, иначе система не загрузится.
- При миграции и бэкапе. exFAT не хранит POSIX-права и ACL, FAT32 не примет файл больше 4 ГиБ, ZFS и ReFS требуют своего инструментария.
- При диагностике «раздел не монтируется»: ntfs без ntfs-3g, exFAT без поддержки ядра, пул ZFS без импорта, контейнер LUKS без разблокировки.
- При инвентаризации парка: сколько серверов осталось на ext4, где ещё используется XFS, на каких узлах появился Btrfs.
Тип файловой системы - не то же самое, что тип разметки (MBR или GPT) и не то же самое, что тип носителя (SSD, HDD, NVMe, RAID-массив). Смешивать эти три уровня опасно: parted -l показывает разметку, lsblk -f показывает ФС, а lvs и mdadm --detail показывают слои между диском и файловой системой. Общая логика работы с дисками и точками монтирования разобрана в руководстве по базовому администрированию Linux.
Примеры ориентированы на util-linux 2.37 и новее, PowerShell 7 и Windows Server 2022/2025. Набор колонок в старых сборках отличается: в lsblk младше 2.37 колонка называется MOUNTPOINT, а не MOUNTPOINTS. Сверяйте вывод с lsblk --help и справкой Get-Help в своей среде.
Как определить файловую систему в Linux: основные команды
Рабочая последовательность такая: lsblk -f для общего обзора, blkid для точных атрибутов нужного раздела, df -T или findmnt для смонтированных томов, file -s для устройства, ФС на котором ещё не смонтирована. Отдельно стоит держать под рукой zpool status и btrfs filesystem show, если в парке есть пулы.
lsblk -f: обзор дисков и разделов с типом ФС
Команда читает данные из sysfs, поэтому не требует root и не трогает сами устройства. Полная форма с нужными колонками:
lsblk -f lsblk -o NAME,FSTYPE,SIZE,LABEL,UUID,MOUNTPOINTS
Пример вывода на сервере с NVMe-системным диском и двумя SATA-накопителями:
NAME FSTYPE FSVER LABEL UUID FSUSE% MOUNTPOINTS sda ├─sda1 vfat FAT32 EFI 67E3-17ED 3% /boot/efi ├─sda2 ext4 1.0 root 9f8c1d2e-4a77-4b1c-9c1e-2f6a8b0d1234 38% / └─sda3 LVM2_member LVM2 001 kL8d2m-pQ4r-7vTn-Xc1b-9wZe-2sDf-8nQp0a sdb └─sdb1 xfs data 4b1c9a77-31c0-4f2a-9d55-7c8e1a2b3c4d 20% /var/lib/data nvme0n1 └─nvme0n1p1 ntfs NTFS Win 0A1B2C3D4E5F6071 /mnt/win
Как читать колонки: FSTYPE - тип файловой системы, пустое значение означает, что ФС на разделе нет либо её не видно из-за слоя LVM, RAID или шифрования. LABEL - метка тома, UUID - идентификатор ФС, MOUNTPOINTS - точки монтирования (их может быть несколько, например при bind-mount). LVM2_member в FSTYPE говорит, что раздел занят физическим томом LVM, crypto_LUKS - что внутри контейнер LUKS, linux_raid_member - что раздел входит в программный RAID.
blkid: точные атрибуты раздела
blkid отдаёт машинно-читаемые атрибуты: TYPE, UUID, LABEL, PARTUUID. Это то, что нужно копировать в /etc/fstab. Для некоторых устройств требуются права root.
sudo blkid /dev/sda2 /dev/sda2: LABEL="root" UUID="9f8c1d2e-4a77-4b1c-9c1e-2f6a8b0d1234" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a1b2c3d4-02" sudo blkid -o list device fs_type label mount point UUID /dev/sda1 vfat EFI /boot/efi 67E3-17ED /dev/sda2 ext4 root / 9f8c1d2e-4a77-4b1c-9c1e-2f6a8b0d1234
UUID присваивается файловой системе при создании и меняется, если раздел пересоздать. PARTUUID принадлежит записи в таблице разделов и сохраняется, пока не изменена сама разметка. Для fstab надёжнее UUID: он не зависит от порядка определения устройств в системе. PARTUUID уместен там, где ФС пересоздают часто (например, загрузочный раздел под переустановку).
df -T: тип ФС для смонтированных разделов
df показывает не устройства, а точки монтирования. Колонка Type выводится по ключу -T, а -h добавляет человекочитаемые размеры.
df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 ext4 98G 38G 56G 41% / tmpfs tmpfs 7.8G 0 7.8G 0% /dev/shm 192.168.1.10:/export nfs4 1.0T 200G 800G 20% /mnt/nfs overlay overlay 98G 38G 56G 41% /var/lib/docker/overlay2/6f1c9a
Здесь видны сразу четыре разных сценария: локальный ext4, виртуальная память tmpfs, сетевая ФС nfs4 и overlay внутри Docker или Kubernetes. Строка overlay в выводе - норма для контейнерных хостов, а не ошибка монтирования. Более гибкий вариант с выбором колонок даёт findmnt:
findmnt -o TARGET,SOURCE,FSTYPE,OPTIONS / TARGET SOURCE FSTYPE OPTIONS / /dev/sda2 ext4 rw,relatime
mount и file -s: детали и «сырые» устройства
mount без аргументов показывает смонтированные ФС вместе с опциями, что важно при разборе проблем с правами и производительностью. file -s читает суперблок устройства, которое ещё не смонтировано.
mount | grep '^/dev' /dev/sda2 on / type ext4 (rw,relatime) /dev/sdb1 on /var/lib/data type xfs (rw,noatime,attr2,inode64) sudo file -s /dev/sdb1 /dev/sdb1: SGI XFS filesystem data (blksz 4096, inodesize 512, inopblock 8) sudo file -s /dev/sdc1 /dev/sdc1: Linux rev 1.0 ext4 filesystem data, UUID=0c1e5b7a-... , volume name "backup" sudo file -s /dev/sdd1 /dev/sdd1: LUKS encrypted file, ver 2 sudo file -s /dev/sde /dev/sde: ZFS storage pool
Опции в скобках читаются так: rw - чтение и запись, relatime - обновление времени доступа только при необходимости, noatime - полный отказ от обновления atime (типовой выбор для баз данных и логов), attr2 и inode64 - параметры XFS. Флаг ro означает, что ФС смонтирована только для чтения, и это первый признак ошибок файловой системы или сработавшей защиты ядра.
Две оговорки по file -s. Первая: команда не заменяет blkid и не показывает UUID в удобном для fstab виде. Вторая: на смонтированном разделе вывод может отличаться от ожидаемого, а для составных конфигураций (LVM, RAID, ZFS) вы увидите только метку слоя, а не ФС верхнего уровня. Проверять «сырые» устройства имеет смысл до монтирования. Пакетный обход удобно делать так: sudo file -s /dev/sd* /dev/nvme*.
Как узнать тип файловой системы в Windows: PowerShell и cmd
В Windows информацию о ФС отдают три инструмента: командлеты Storage в PowerShell, diskpart в cmd и утилита fsutil. Первый путь предпочтителен в скриптах, второй привычен администраторам, третий даёт детали уровня тома.
PowerShell: Get-Volume, Get-Partition, Get-Disk
Get-Volume выводит букву, метку, тип ФС, размер, остаток и состояние здоровья тома:
Get-Volume | Format-Table DriveLetter, FileSystemLabel, FileSystem, @{n='SizeGB';e={[math]::Round($_.Size/1GB,1)}}, HealthStatus
DriveLetter FileSystemLabel FileSystem SizeGB HealthStatus
----------- --------------- ---------- ------ ------------
C System NTFS 476.9 Healthy
D Data ReFS 3725.8 Healthy
Recovery NTFS 0.5 Healthy
Тома без буквы диска (загрузочные, восстановительные, точки подключения) в Get-Volume всё равно видны, но связать их с разделом помогает конвейер от раздела к тому:
Get-Partition -DiskNumber 1 | Get-Volume Get-Partition -DriveLetter C | Format-List DriveLetter, FileSystem, Size, Offset, Type Get-Disk | Format-Table Number, FriendlyName, PartitionStyle, BusType, Size Number FriendlyName PartitionStyle BusType Size ------ ------------ -------------- ------- ---- 0 SAMSUNG MZ7L3480HCHQ GPT NVMe 480103981056 1 DELL PERC H730P GPT RAID 3999560000000
Get-Disk закрывает вопрос о типе разметки: PartitionStyle со значением MBR или GPT. Это отдельный уровень от файловой системы, и путать их не стоит. Поле BusType подсказывает, с чем вы работаете физически: NVMe, RAID, SAS, USB.
diskpart: list volume и list disk
diskpart запускается из cmd с правами администратора и работает в интерактивном режиме, но принимает команды через конвейер.
echo list volume | diskpart Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 C System NTFS Partition 476 GB Healthy Boot Volume 1 D Data ReFS Partition 3726 GB Healthy Volume 2 Recovery NTFS Partition 529 MB Healthy Hidden
Колонка Fs - то, ради чего сюда заходят: NTFS, FAT32, exFAT, ReFS. Для зашифрованного тома в некоторых сборках в колонке Fs может отображаться BitLocker, а не NTFS: состояние проверяется командой manage-bde -status. Отдельно list disk показывает номер диска, размер, свободное место и звездочку в колонке Gpt, если используется GPT-разметка. Для скриптов diskpart менее удобен: вывод - обычный текст, который приходится разбирать регулярками, тогда как PowerShell отдаёт объекты.
fsutil fsinfo: детальная информация о томе
fsutil требует прав администратора и даёт больше деталей, чем diskpart. Три полезных подкоманды:
fsutil fsinfo volumeinfo C: File System Name : NTFS Volume Serial Number : 0x4c1a9f2b Max Component Length : 255 Supports Case-sensitive filenames Preserves Case of filenames Supports Unicode in filenames fsutil fsinfo ntfsinfo C: NTFS Version : 3.1 LFS Version : 2.0 fsutil fsinfo drives Drives: A:\ C:\ D:\
fsutil fsinfo volumeinfo печатает имя ФС первым же полем и работает для любого типа тома, включая ReFS, exFAT и FAT32. fsutil fsinfo ntfsinfo применим только к NTFS: он показывает версию драйвера, размер кластера и текущие счетчики метаданных. Для ReFS специфичные сведения смотрят через refsutil, а общие параметры тома - тем же volumeinfo. Различия между NTFS, ReFS, exFAT и FAT32 по правам, журналированию и лимитам собраны в сравнении файловых систем.
Как прочитать вывод и не ошибиться в интерпретации
Основная причина ошибок - слои между диском и файловой системой. Драйвер видит не ФС, а контейнер LVM, криптоустройство LUKS, член RAID-массива или том BitLocker. Таблица ниже помогает быстро понять, что именно вы видите в колонке FSTYPE или Fs.
| Что в выводе | Что это значит | Что делать |
|---|---|---|
| Пустой FSTYPE | ФС не создана, либо раздел занят LVM, RAID или шифрованием | Проверить lvs, mdadm --detail, cryptsetup status |
| LVM2_member | Раздел - физический том LVM | lvs, затем sudo blkid /dev/mapper/vg-lv |
| crypto_LUKS | Контейнер LUKS, реальная ФС внутри | cryptsetup luksOpen, затем blkid по /dev/mapper/имя |
| linux_raid_member | Раздел входит в программный RAID md | mdadm --assemble --scan, затем blkid /dev/md0 |
| zfs_member | Устройство принадлежит пулу ZFS | zpool status, zfs list |
| btrfs | Том Btrfs, возможно, часть многоустройственного пула | btrfs filesystem show, btrfs subvolume list |
| ntfs в Linux | Том Windows | Для записи нужен ntfs-3g, ядро обычно даёт чтение |
| BitLocker в diskpart | Том зашифрован | manage-bde -status, разблокировка перед работой |
LVM, LUKS, RAID: почему ФС не видна сразу
Для каждого слоя есть один диагностический шаг. Сначала посмотрите логические тома и определите, куда указывает устройство:
sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root vg0 -wi-ao---- 60.00g data vg0 -wi-ao---- 120.00g sudo blkid /dev/mapper/vg0-data /dev/mapper/vg0-data: UUID="1d9a8f43-..." TYPE="xfs"
Если lsblk показывает crypto_LUKS, откройте контейнер и проверьте ФС уже на появившемся устройстве:
sudo cryptsetup luksOpen /dev/sdb1 data_crypt sudo blkid /dev/mapper/data_crypt /dev/mapper/data_crypt: UUID="8b2f0c11-..." TYPE="xfs"
Для программного RAID сначала собирается массив, потом читается ФС:
sudo mdadm --assemble --scan cat /proc/mdstat md0 : active raid1 sdc1[0] sdd1[1] sudo blkid /dev/md0 /dev/md0: UUID="5e7a91c2-..." TYPE="ext4"
Общее правило: увидели LVM, LUKS, RAID или BitLocker - сначала активируйте или разблокируйте слой, и только потом определяйте тип ФС. Иначе любой вывод будет описывать контейнер, а не файловую систему.
ZFS и Btrfs: как отличить пул от раздела
В ZFS единица администрирования - пул, а не раздел. Раздел или диск здесь только носитель, поэтому смотреть нужно на уровне пула и датасетов:
zpool status
pool: tank
state: ONLINE
scan: scrub repaired 0B in 02:14:31 with 0 errors
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 1.20T 3.40T 96K /tank
tank/data 1.10T 3.40T 1.10T /tank/data
Btrfs устроен похоже: пул может состоять из нескольких устройств, а внутри живут субтома. Команды - btrfs filesystem show и btrfs subvolume list /mnt/data. В lsblk устройства такого пула будут помечены как btrfs или zfs_member, и это корректно: тип ФС вы уже знаете, дальше работаете инструментами пула. Типовой сценарий - NAS на TrueNAS, где ZFS управляет дисками целиком, а разметка вручную не нужна. Особенности таких ФС, включая снапшоты и контрольные суммы, разобраны в материале ZFS и Btrfs против ext4 и XFS. Btrfs и ext4 при этом остаются массовыми ФС в дистрибутивах: например, в Garuda Nix функция Impermanence построена на откатах Btrfs, а при ext4 корень размещается в tmpfs (описание проекта Garuda Nix).
Определение ФС на удалённой машине без прямого доступа к консоли
Удалённая проверка сводится к трём схемам: разовый однострочник по SSH, массовый сбор через Ansible и постоянный инвентарь через систему мониторинга. Для Windows работает PowerShell Remoting поверх WinRM.
SSH и Ansible для Linux-парка
Самый быстрый способ получить картину по одному серверу - выполнить lsblk по SSH, не открывая интерактивную сессию:
ssh admin@srv-01 'lsblk -o NAME,FSTYPE,SIZE,LABEL,MOUNTPOINTS'
Для нескольких хостов достаточно цикла по списку с BatchMode, чтобы команда не запрашивала пароль в фоне:
for h in $(cat hosts.txt); do echo "== $h"; ssh -o BatchMode=yes "$h" 'lsblk -o NAME,FSTYPE,MOUNTPOINTS'; done
Ansible собирает те же данные с фактов и не требует заходить на каждый узел руками:
ansible all -m setup -a 'filter=ansible_mounts' ansible -i inventory.ini all -m shell -a 'lsblk -o NAME,FSTYPE,MOUNTPOINTS'
Факт ansible_mounts возвращает список словарей с полями mount, device, fstype, size_total, size_available, поэтому его удобно складывать в отчёт или сверять с эталонным состоянием. Подход к инвентаризации и контролю дрейфа конфигураций описан в руководстве по управлению конфигурацией. Ограничение по LUKS: удалённо потребуется ввести парольную фразу при luksOpen, поэтому заранее проверьте, есть ли у вас доступ к консоли KVM/IPMI или настроен keyfile.
PowerShell Remoting и WinRM для Windows
На удалённом сервере выполняется тот же Get-Volume, только внутри Invoke-Command. Наличие параметра PSComputerName позволяет собрать результат сразу с нескольких машин в одну таблицу:
Invoke-Command -ComputerName srv-01, srv-02 -ScriptBlock {
Get-Volume | Select-Object PSComputerName, DriveLetter, FileSystem, SizeRemaining
}
Требования: служба WinRM включена на цели (Enable-PSRemoting -Force), у вас права администратора, а в рабочей группе добавлено доверие к хосту в TrustedHosts либо настроен HTTPS на порту 5986. Для интерактивной работы используется Enter-PSSession -ComputerName srv-01. Если том зашифрован BitLocker и находится в заблокированном состоянии, Get-Volume не покажет файловую систему: проверьте manage-bde -status и учтите, что сетевой разблокировщик требует отдельной настройки инфраструктуры.
Мониторинг: Zabbix, Prometheus, node_exporter
Ручные команды хороши для разовой проверки, но инвентарь ФС удобнее держать в мониторинге. Zabbix-агент отдаёт ключ vfs.fs.get, который возвращает JSON с полями fsname, fstype, bytes_total, bytes_available и другими параметрами по каждой точке монтирования. Метрика доступна как для триггеров, так и для низкоуровневого обнаружения (LLD).
В Prometheus те же данные даёт node_exporter: node_filesystem_size_bytes, node_filesystem_avail_bytes, node_filesystem_readonly с лейблами fstype и mountpoint. Через запросы вида node_filesystem_size_bytes{fstype="ext4"} видно распределение парка по типам ФС, а node_filesystem_readonly == 1 сообщает о переходе тома в режим только для чтения. Полезно держать отдельный алерт на появление нового значения лейбла fstype: свежий Btrfs или XFS на узле, где ожидался только ext4, почти всегда означает неучтённое изменение.
Если часть парка опрашивается только по SNMP, учитывайте ограничение: таблица hrStorageTable из HOST-RESOURCES-MIB отдаёт объёмы и точки монтирования, но тип файловой системы в ней обычно не представлен. Для инвентаря ФС на таких узлах ставьте агент или собирайте данные скриптом по SSH.
Сравнение команд Linux и Windows: таблица соответствий
Таблица помогает быстро подобрать аналог привычной команды при переходе между платформами.
| Задача | Linux | Windows |
|---|---|---|
| Обзор дисков, разделов и ФС | lsblk -f | Get-Volume, Get-Disk |
| ФС конкретного раздела | blkid /dev/sda1 | Get-Partition -DriveLetter C | Get-Volume |
| Смонтированные ФС | df -T, findmnt | Get-Volume |
| Детали тома | file -s /dev/sda1, tune2fs -l, xfs_info | fsutil fsinfo volumeinfo C: |
| Список томов текстом | lsblk -o NAME,FSTYPE,SIZE | diskpart, list volume |
| Тип разметки | parted -l, fdisk -l, gdisk -l | Get-Disk (PartitionStyle), diskpart list disk |
| Слои хранения | lvs, cryptsetup status, mdadm --detail | Get-Disk (Storage Spaces), manage-bde -status |
Разница в формате вывода принципиальна для скриптов. Командлеты PowerShell возвращают объекты, и их можно фильтровать, сортировать и выгружать через ConvertTo-Json или Export-Csv напрямую. Утилиты Linux печатают текст, поэтому в автоматизации их обычно комбинируют с awk или используют машинно-читаемые ключи: lsblk с опцией -P (пары ключ=значение), lsblk -J (JSON) или blkid -o export.
Чек-лист перед изменением разметки или миграцией данных
- Определите текущую ФС. На Linux - lsblk -f и blkid для конкретного устройства, в Windows - Get-Volume и fsutil fsinfo volumeinfo. Зафиксируйте тип, метку, UUID и размер в заявке или заметке.
- Проверьте слои. LVM (lvs), LUKS (cryptsetup status), RAID (mdadm --detail), Storage Spaces (Get-Disk), BitLocker (manage-bde -status). Если слой активен, ФС находится выше него.
- Убедитесь, что раздел не смонтирован. На Linux - mount | grep sdb1 или findmnt, в Windows - Get-Partition и Get-Volume. Пересоздавать ФС на смонтированном томе нельзя.
- Проверьте разметку. parted -l, fdisk -l или gdisk -l на Linux, Get-Disk и diskpart list disk в Windows. Смена MBR на GPT на работающем системном диске без конвертации ломает загрузку.
- Сделайте бэкап или снапшот. LVM-снапшот через lvcreate -s, снапшот ZFS через zfs snapshot, снапшот VSS или теневая копия в Windows. Снапшот быстрый, но не заменяет резервную копию на отдельном носителе.
- Выполните операцию. И только после этого - mkfs, resize2fs, xfs_growfs, Resize-Partition или миграция.
Отдельный сценарий - перенос физической Windows-машины в виртуальную. Для него есть утилита Disk2vhd: она создаёт VHD-копию диска, запускается в той же системе, с которой снимается образ, опирается на штатную службу теневого копирования для снапшотов и формирует по одному VHD-файлу на каждый выбранный раздел (описание Disk2vhd). Для Virtual PC заявлена поддержка образов до 127 Гб, в сценариях Hyper-V ориентируйтесь на актуальные лимиты формата. Практический нюанс: образ создаётся по разделам, поэтому параметры тома (квоты, дедупликация ReFS, настройки снапшотов) автоматически не переносятся - после конвертации их стоит проверить отдельно.
Если миграция связана с заменой носителей или переходом на NAS, предварительно посчитайте реальную нагрузку и требования к СХД по пошаговой методике выбора системы хранения: тип файловой системы - только один из параметров, рядом с IOPS, латентностью, RPO и RTO.
Частые вопросы и типичные ошибки
Почему df -T и lsblk показывают разное? Они отвечают на разные вопросы. lsblk читает устройства и показывает ФС на них, df привязан к точке монтирования. Для subvolume Btrfs, bind-mount, overlay в контейнере и tmpfs значения будут отличаться закономерно, а не из-за сбоя.
Почему объём тома меньше заявленного на этикетке? Производители носителей считают в десятичных единицах, а файловые системы и утилиты часто в двоичных: 1 ТиБ = 1 048 576 МиБ, поэтому диски на 2 ТиБ и 4 ТБ в отчётах ОС выглядят меньше. Соотношение удобно проверять конвертером, например перевод 2 ТиБ в МиБ. Потери на метаданные, журнал, резервирование под root и сжатие конвертер не учитывает, поэтому реальная доступная ёмкость всегда немного ниже расчётной.
Почему file -s не видит файловую систему? Наиболее вероятная причина - слой: LUKS, LVM, md-RAID или пул ZFS. В таких случаях команда покажет тип контейнера или пула. Разблокируйте или активируйте слой и проверьте получившееся устройство через blkid. Вторая причина - редкая или проприетарная ФС, сигнатуру которой база file не распознаёт.
Команда не найдена, что делать? lsblk, blkid и findmnt входят в пакет util-linux: apt install util-linux или dnf install util-linux. Команда df идёт в coreutils. На Windows все нужные командлеты уже в системе, но для diskpart и fsutil требуются права администратора, а blkid и file -s в Linux читают часть устройств только через sudo.
В выводе Windows вместо NTFS стоит ReFS, это ошибка? Нет. ReFS используется на серверных томах с данными и в Storage Spaces Direct, тогда как системный раздел обычно остаётся на NTFS. Проверить детали можно через fsutil fsinfo volumeinfo, а специфичные операции выполнять через refsutil. Выбор между этими ФС разбирается отдельно по сценариям.
Покажет ли мониторинг смену файловой системы? Покажет, если вы собираете метрики по точкам монтирования и следите за лейблом fstype. В Prometheus это node_filesystem_size_bytes{fstype=...}, в Zabbix - ключ vfs.fs.get. Настройте уведомление на появление незнакомого значения, иначе переформатирование раздела пройдёт незамеченным до следующей проверки вручную.