Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 10 (http://forum.oszone.net/forumdisplay.php?f=118)
-   -   Доступ WSL к томам, примонтированным к папке (http://forum.oszone.net/showthread.php?t=349402)

booroondookZ 15-08-2021 17:20 2964271

Доступ WSL к томам, примонтированным к папке
 
Ситуация такая. Раздел диска "прицеплен" (штатными средствами, конечно же) к папке C:\Home. Если кому интересно, то это сделано с целью минимизировать время и трудозатраты на возможное восстановление системы в будущем, дабы меньше пришлось файлов сохранять и копировать. Но сейчас не об этом.
Со стороны самой Windows проблем нет - папка как папка, туда можно войти, манипулировать файламии т.д.
Но WSL эту папку видит как "битый" симлинк - т.е., с недоступной целью. Соответственно, войти в эту папку невозможно.
Команда "dir /al" из-под Windows для этой папки возвращает следующее:
Код:

14.08.2021  11:02    <JUNCTION>    Home [\??\Volume{2c58f283-0000-0000-0000-60f630000000}\]
Команда "ls -la" из под WSL - следующее:
Код:

lrwxrwxrwx  1 root root      0 авг 14 11:02  Home
(т.е., показывает, что это символическая ссылка, но при этом ничего не показывает в качестве "цели")
Что можно придумать, чтобы обеспечить WSL вход в эту папку?

P.S. И попутный вопрос: можно ли (и как) создавать подобные "Junction" на тома именно из командной строки, а не через "Диспетчер дисков"?
Поскольку команда (к примеру) ...
Код:

mklink /J c:\mytest \??\Volume{2c58f283-0000-0000-0000-60f630000000}\
...хоть и создает ссылку, но нерабочую. Команда "dir /al" для нее возвращает следующее:
Код:

15.08.2021  14:17    <JUNCTION>    mytest [c:\??\Volume{2c58f283-0000-0000-0000-60f630000000}\]
...добавляя перед идентификатором раздела букву диска "c:". Из-за этого ссылка и не работает.

Iska 15-08-2021 17:37 2964272

Цитата:

Цитата booroondookZ
...хоть и создает ссылку, но нерабочую. »

У меня, под Windows 7 SP1 x64 — рабочую:
Скрытый текст

booroondookZ 15-08-2021 17:40 2964273

Цитата:

Цитата Iska
У меня, под Windows 7 SP1 x64 — рабочую. »

Ну, мы тут в этой ветке вообще-то про Windows 10 говорим.

Iska 15-08-2021 17:47 2964274

Цитата:

Цитата booroondookZ
…вообще-то про Windows 10 говорим. »

Держите Windows 10:
Скрытый текст


booroondookZ, а если именно symlink создавать, а не junction — что будет?

booroondookZ 15-08-2021 18:08 2964276

Намекаете на необходимость кавычек вокруг имени тома? Хорошо - попробуем с кавычками:
Код:

C:\mytest>mklink /J "c:\mytest\test_volume" "\??\Volume{2c58f283-0000-0000-0000-60f630000000}\"
соединение создано для c:\mytest\test_volume <<===>> \??\Volume{2c58f283-0000-0000-0000-60f630000000}\

C:\mytest>dir /a:l
 Том в устройстве C не имеет метки.
 Серийный номер тома: 785D-D373

 Содержимое папки C:\mytest

15.08.2021  17:55    <JUNCTION>    test_volume [C:\??\Volume{2c58f283-0000-0000-0000-60f630000000}\]
              0 файлов              0 байт
              1 папок  165*694*832*640 байт свободно

Цитата:

Цитата Iska
а если именно symlink создавать, а не junction — что будет? »

Не вопрос:
Код:

C:\mytest>mklink /D "c:\mytest\test_volume" "\??\Volume{2c58f283-0000-0000-0000-60f630000000}\"
символическая ссылка создана для c:\mytest\test_volume <<===>> \??\Volume{2c58f283-0000-0000-0000-60f630000000}\

C:\mytest>dir /a:l
 Том в устройстве C не имеет метки.
 Серийный номер тома: 785D-D373

 Содержимое папки C:\mytest

15.08.2021  18:04    <SYMLINKD>    test_volume [\??\Volume{2c58f283-0000-0000-0000-60f630000000}\]
              0 файлов              0 байт
              1 папок  165*626*368*000 байт свободно

C:\mytest>cd test_volume
Синтаксическая ошибка в имени файла, имени папки или метке тома.

Как видим - хоть ссылка и создаётся с правильной целью, но доступа к ней нет.
Пробуем тогда уже и третий вариант - без параметров (хоть это и глупо, но всё же):
Код:

C:\mytest>mklink  "c:\mytest\test_volume" "\??\Volume{2c58f283-0000-0000-0000-60f630000000}\"
символическая ссылка создана для c:\mytest\test_volume <<===>> \??\Volume{2c58f283-0000-0000-0000-60f630000000}\

C:\mytest>dir /a:l
 Том в устройстве C не имеет метки.
 Серийный номер тома: 785D-D373

 Содержимое папки C:\mytest

15.08.2021  18:06    <SYMLINK>      test_volume [\??\Volume{2c58f283-0000-0000-0000-60f630000000}\]
              1 файлов              0 байт
              0 папок  165*689*851*904 байт свободно

C:\mytest>cd test_volume
Неверно задано имя папки.


Iska 15-08-2021 21:36 2964279

Цитата:

Цитата booroondookZ
Намекаете на необходимость кавычек вокруг имени тома? »

Нет.

Цитата:

Цитата booroondookZ
Как видим - хоть ссылка и создаётся с правильной целью, но доступа к ней нет. »

У меня и с symlink'ом работает.

Идей нет.

А к самому каталогу \??\Volume{2c58f283-0000-0000-0000-60f630000000}\ у Вас доступ есть?

booroondookZ 15-08-2021 21:40 2964280

Цитата:

Цитата Iska
А к самому каталогу \??\Volume{2c58f283-0000-0000-0000-60f630000000}\ у Вас доступ есть? »

А как это проверить?
Код:

C:\test>cd  \??\Volume{2c58f283-0000-0000-0000-60f630000000}\
Системе не удается найти указанный путь.

Короче, вышел из проблемной ситуации методом воркэраунда, а именно:
1. Убрал привязку тома к папке.
2. Назначил тому букву диска.
3. Создал Junction с тем же именем папки, но теперь указывающий не на "системное" имя тома, а просто на букву диска из п.1

P.S. Ребята из Майкрософта знают толк в извращениях....

Iska 15-08-2021 22:29 2964286

Цитата:

Цитата booroondookZ
А как это проверить? »

Можно в Far Manager'е. Но раз так:
Цитата:

Цитата booroondookZ
а именно:
1. Убрал привязку тома к папке.
2. Назначил тому букву диска.
3. Создал Junction с тем же именем папки, но теперь указывающий не на "системное" имя тома, а просто на букву диска из п.1 »

у Вас работает, то уже не нужно.

booroondookZ 15-08-2021 22:32 2964287

Цитата:

Цитата Iska
у Вас работает, то уже не нужно. »

Тут дело принципа. Не хочу иметь лишнюю букву диска в окружении

Iska 16-08-2021 04:00 2964293

Понимаю. Ну, вот, хрен его знает — у меня-то работает и через junction, и через symlink.

booroondookZ 16-08-2021 10:53 2964304

Ну это-то ладно. Собственно, вопрос создания ссылки из командной строи стоял на втором месте.
А на первом стоял вопрос доступа WSL к такой ссылке.

Iska 16-08-2021 13:09 2964311

Подождите коллег, занимающихся Linux, они подскажут.


Время: 07:59.

Время: 07:59.
© OSzone.net 2001-