2015-06-03 5 views
3

3 HDD на одном компьютере: 2 с Windows XP, 1 с Windows 7, последовательно загружают операционную систему из каждого из них.Какова внутренняя структура ярлыка Windows?

Я обнаружил, что некоторые рабочие ярлыки (не все), созданные в первом XP, не работают во втором XP и Windows 7 (недоступны для просмотра объекта для ярлыка).

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

Я обнаружил, что это структуры разные, но я не знаю, как их сравнить.

Какова внутренняя структура ярлыка Windows?

Какие начальные и конечные байты некоторых полезных блоков содержимого ярлыка?

+0

Я не думаю, что это подходящее место для таких вопросов. что вы подразумеваете последовательно загружать ОС? –

+0

@Skaros Ilias - это означает, что я запускаю один из них, затем выключение, после запуска следующей ОС, затем завершение работы, затем запуск третьей ОС, и в каждом из них был доступен все 3 hdd, ярлыки с проблемами были доступны в других ОС – jah

ответ

2

Ярлык (.lnk) формат файла является собственностью Ms и можно увидеть here.

Однако, чтобы избавить вас от чтения всего PDF-файла, одна вещь, которая хранится в ярлыке точно (может быть проверена путем «поиска» в ярлыке с помощью шестнадцатеричного просмотра) является (полным) целевым путем, ссылки (!! важно: на момент его создания); так что это DriveLetter: \ the_full_path.

Чтобы устранить путаницу, я предлагаю играть с ярлыками с целями на одном диске.

Таким образом, при переходе жестких дисков (DriveLetter s - ака C: точка на разные вещи), скажем, что вы создали на одном из них ярлык: C:\shortcut.lnk (C: является DriveLetter назначен на жесткий диск, где загружаемой ОС Windows от, давайте назовем этот HDD1), который указывает на целевой файл, расположенный на другом жестком диске (и раздел, назовем этот HDD2) (например, E:\target.txt); когда вы переключите HDD (сделав HDD2 основной загрузочный диск), DriveLetter s тоже изменится, так что теперь HDD2 будет C: и HDD1 D:. Все больше усложняется при вводе HDD3 и так далее.

В качестве ответа на наш вопрос: файлы .lnk не работают, потому что их цель больше не присутствует.

+0

thank вы очень за большой ответ, я прочитаю этот документ, я могу только добавить, что некоторые из проблемных ярлыков были на сетевых ресурсах, и они были доступны – jah

+1

Хм, сетевые ресурсы, как они были доступны (в виде _remote смонтированных дисков_ или просто _file shares_)? Это важно и настройки сети при каждой установке Win (на каждом из 3 жестких дисков). Если я правильно понял, ярлыки с 1-го XP являются проблемой, там вы должны искать (перед чтением всего PDF). – CristiFati

+0

Общий доступ к файлам, все компьютеры в домене (если они загружены из какой-либо ОС, компьютер - это компьютер домена), когда я открыл проблематичный ярлык из XP в шестнадцатеричном редакторе, я увидел путь, начинающийся с двух косой черты \\ (например, \\ some_domain \ some_folder) , Да, проблемы с ярлыками от первого XP (второй XP я привожу, чтобы показать эту проблему не в XP вообще, а в текущей сборке).Первоначальная задача заключалась в переносе данных с XP на w7. Еще раз спасибо, я попытаюсь проанализировать. – jah