Недавно я сделал что-то глупое на своем ноутбуке с двойной загрузкой, где я сжал весь том, чтобы освободить место для раздела Linux. По какой-то причине Windows позволяет мне сжимать C:\ntldr
. Теперь мне нужно распаковать его, чтобы Windows загрузилась.
Вот некоторые из действующих ограничений, которые у меня есть:
Был ли способ указать, что драйвер ntfs-3g не должен сжимать файлы, даже если он считает, что должен (если каталог сжат) при монтировании тома?
Или есть способ изменить атрибуты каталога с помощью ntfsprogs?
Ладно, думаю, я решил это. Проблема кроется в драйвере ntfs-3g; он слишком старается предсказать, чего хочет пользователь.
Решил проблему установкой громкости на /mnt/windows
используя драйвер ntfs-3g, затем скопируйте файл ntldr из тома.
# mount -t ntfs-3g /dev/sda1 /mnt/windows
# cp -p /mnt/windows/ntldr ~/ntldr
# mv /mnt/windows/ntldr{,.bak}
# umount /mnt/windows
Затем, используя ntfsprogs ' ntfscp
, Я повторно скопировал файл обратно в файловую систему:
# ntfscp -f /dev/sda1 ~/ntldr ntldr
Затем, когда я сделал ntfsinfo
на нем больше не было сжатого атрибута.
Проблема кроется в драйвере ntfs-3g; он слишком старается предсказать, чего хочет пользователь.
Насколько я понимаю, ntfs-3g сделал то, что хотел пользователь. Он сжимает файл, потому что пользователь установил сжатый каталог.
Проблема на самом деле заключается в ntfcp, который не соответствует спецификации NTFS.
Вы не можете загрузиться с внешнего диска, поэтому восстановление USB / CD отсутствует ... не удается получить доступ к сети ... гм ... Я не знаю ничего, что могло бы исправить это прямо из Linux. Поддержка NTFS для чего-либо, кроме чтения и записи (и, условно говоря, даже поддержка записи была изворотливой до недавнего времени), является скудной, поскольку сообщество Linux считает, что NTFS предназначена для родной Windows.
Я собирался предложить использовать VMWare или VirtualBox для загрузки Windows на виртуальной машине и предоставить ей доступ к разделу; это могло бы исправить это, но вы сказали, что у вас нет доступа к сети для установки гипервизора виртуальной машины.
Если вам абсолютно необходимы данные, единственное, что я могу предложить, - это физически извлечь диск и вставить его в адаптер, чтобы он мог работать как внешний USB-накопитель на машине под управлением Windows, и распаковать его / запустить восстановление оттуда. В противном случае восстановить из резервной копии ...
(Я установил Linux через PXE)
У него нет доступа к сети.
Я запуталась, но ладно ..
Ключ к установке Linux на любой машине - это
Учитывая, что все "нормальные" загрузочные векторы, похоже, вам недоступны, я бы сказал, вытащите диск на этом этапе и подключите его к другой машине.
Последующие действия на основе комментариев:
Итак, давайте рассмотрим:
Таким образом, похоже, что PXE (тот же метод, который вы использовали для запуска и запуска двойной загрузки) будет вашим самым простым выбором. Можете ли вы узнать, какой адрес у используемого вами PXE-сервера? Если это так, вы могли бы устроить небольшой взлом ... вам понадобится компьютер, который может действовать как сервер PXE, и проводной концентратор, который не подключен к какой-либо другой сети.
Я не уверен, что вы можете загрузить компакт-диск Windows в реальном времени таким образом (я выполнял только старые загрузки DHCP / BOOTP / TFTP, а не PXE), но если бы вы могли, вы могли бы получить доступ к консоли восстановления , что было бы вашим лучшим выбором. Второй вариант - вставить в ноутбук компакт-диск с live-загрузкой linux и попытаться восстановить его оттуда, хотя я подозреваю, что у вас будет ограниченный успех. В качестве последней попытки вы всегда можете перенести данные на другое устройство (теперь, когда ноутбук снова в рабочем состоянии).