Я учел бы совет @ChrisDown и не попытался бы сделать что-то умное здесь. Я создал бы для цикла и инвертировал бы ключи со значениями в новом массиве. Это - только несколько строк кода.
Что-либо, что Вы создаете этим способом, будет более трудным для других поддерживать в будущем, и более трудный для Вас помнить/понимать, как он работает, когда Вы пересматриваете код в будущем.
Я использовал это, http://www.supergrubdisk.org/rescatux/ , в прошлом, я думаю, это то, что вы ищете, это позволяет вам выбрать, какой раздел установить / Repair grub on. У него даже есть возможность восстановить главную загрузочную запись Windows.
Вы также можете попробовать восстановить компакт-диск Windows, вот безопасная копия, которую я использовал сам, https://kickass.to/windows-7-repair-discs-32-bit-and-64-bit-iso -t8147350.html # main