Linux должен монтироваться, поскольку Windows - _______?

Итак, Linux «монтирует» жесткий диск для выполнения некоторых операций, таких как чтение /запись. Windows «монтируется» таким же образом?

Является ли это чем-то другим в контексте Microsoft?

39 голосов | спросил Chad Harrison 14 Maypm12 2012, 19:46:24

4 ответа


88

Если вы знаете внутренности Windows, исправьте мои ошибки, пожалуйста.

«Монтирование» состоит из двух первичных частей, которые одинаковы в обеих системах, но их разделение несколько отличается:

  1. доступ к файловой системе на диске;
  2. назначение пути к файловой системе.

В Linux одна и та же функция mount() выполняет оба задания; файловая система должна быть смонтирована явно по выбранному пользователем пути и остается открытой, если она установлена ​​по крайней мере на одном пути (возможно, больше). После того, как все пути к этой файловой системе будут umount() ed, они закрыты.

Windows автоматически устанавливает тома при появлении тома - сразу же открывает файловую систему и присваивает ей букву и /или любые другие настроенные им имена.

Диск можно временно «демонтировать» с помощью FSCTL_LOCK_VOLUME и /или FSCTL_DISMOUNT_VOLUME ioctl - например, при запуске на нем chkdsk, но автоматически устанавливается снова когда программа открывает или завершает работу. Такое поведение можно рассматривать как нечто противоположное Linux. Поскольку демонтаж файловой системы является временным, он сохраняет назначенные имена даже при демонтировании. (Функция «Безопасное удаление» отключает файловую систему и отключает основное устройство, чтобы Windows не увидела файловую систему и не перезапустила ее.)

Файловая система может иметь несколько имен, назначенных ей:

  • Буквы дисков (A:, C:, [:) - автоматически назначается новым дискам и проигрывается при перезагрузке, хотя Windows запоминает настройки, настроенные пользователем. Таким образом, они похожи на точки монтирования Unix.

    (Буквы дисков также могут быть назначены на произвольные устройства, в том числе сетевые файловые системы, поддерживаемые Windows. Вы можете увидеть их цели в \GLOBAL??\ и \Sessions\<session>\DosDevices\<loginid>\ в WinObj .)

    Примечание. Буквы дисков обычно являются общесистемными, но их также можно назначить для сеанса с помощью subst или DefineDosDevice(), и да, он принимает [:. Назначения сеанса никогда не сохраняются нигде и исчезают при перезагрузке.

  • Точки монтирования папок (C:\Disks\Music) - файловая система может быть смонтирована в любом произвольном каталоге, например в Unix; однако они фактически хранятся на целевом диске в виде точек повторной обработки (более мощная форма символических ссылок), которые ссылаются на смонтированный диск по его имени .

    (Существуют различные виды точек повторной обработки, несколько стандартных - точки монтирования, символические ссылки, переходы каталогов.)

  • Объяснения GUID-путей (\\?\Volume{710308c0-978e-11e1-95bc-806d6172696f}\) (по крайней мере, так оно и называется) - специальные пути в Пространство имен Win32 \\?\ , содержащий UUID, который Windows назначает этому конкретному тому в этой конкретной системе Windows. Они не могут быть изменены. Они перечислены в mountvol или в \GLOBAL??\ в WinObj. В отличие от букв дисков, они одинаковы для всех пользователей.

  • Пути интерфейса устройства \\?\STORAGE#Volume#<something>Signature<hex>Offset<hex>Length<hex>#<uuid>\ В отличие от пути GUID тома, каждый том имеет ровно один путь к интерфейсу устройства.

    • Название тома устройства \Device\HarddiskVolume23 - в отличие от всех предыдущих, которыепросто символические ссылки, это напрямую называет громкость. Вы знаете это, потому что оно находится в пространстве имен \Device, а не \\?. Это также означает, что вы не можете использовать его с такими функциями, как CreateFile.

diskmgmt.msc, mountvol и ---- +: = 25 =: + ---- может управлять буквами дисков и точками подключения.

Даже если на томе нет букв дисков и он не «монтируется» в любой папке, он остается открытым, и его содержимое по-прежнему можно получить через его имя тома; например.

diskpart
ответил grawity 14 Maypm12 2012, 19:54:53
43

mountvol.exe является эквивалентом Windows.

Результат примера mountvol

ответил Der Hochstapler 14 Maypm12 2012, 20:03:25
6

Да, но в целом он обрабатывается автоматически (скажем, с USB-накопителем).

Утилита управления дисками (часть Computer Mgmt) позволяет вам манипулировать томами и точками подключения. Explorer делает то же самое для сетевых ресурсов. Существуют версии командной строки (diskpart.exe в WIn 7), а также в зависимости от версии Windows, которую вы запускаете.

ответил uSlackr 14 Maypm12 2012, 19:54:02
3

Самый короткий, самый очевидный ответ для заполнения вашего _ _ ​​_ _ _ _ - это «mount». Linux монтирует (и размонтирует) файловые системы, а также делает Windows.

Каждый из них автоматизирует этот процесс в различной степени, в зависимости от множества смешанных факторов, которые я не способен перечислять, но я думаю, что стратегии кэширования, стиль /предпочтения пользователя и патенты оказывают значительное влияние на автоматизацию этого процесса.

ответил matty 15 Mayam12 2012, 11:03:17

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132