هذا هو الأمر Virt-win-reg الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
Virt-win-reg - تصدير ودمج إدخالات سجل Windows من ضيف Windows
موجز
Virt-win-reg domname "HKLM \ Path \ To \ Subkey"
Virt-win-reg domname اسم "HKLM \ Path \ To \ Subkey"
Virt-win-reg domname "HKLM \ Path \ To \ Subkey" @
Virt-win-reg --merge domname [input.reg ...]
Virt-win-reg [--options] disk.img ... # بدلاً من domname
تحذير
يجب عليك ليست استخدام "Virt-win-reg" مع --دمج الخيار على الأجهزة الافتراضية الحية. اذا أنت
افعل هذا انت سوف الحصول على تلف القرص لا رجعة فيه في VM. يحاول "Virt-win-reg"
يمنعك من القيام بذلك ، ولكن لا يكتشف كل الحالات.
يعد تعديل سجل Windows عملية محفوفة بالمخاطر بطبيعتها. التنسيق هو
تعمد الغموض وغير الموثق ، ويمكن لتغييرات التسجيل أن تترك النظام
غير قابل للتمهيد. لذلك عند استخدام ملف --دمج الخيار ، تأكد من أن لديك نسخة احتياطية موثوقة
لأول مرة.
الوصف
يمكن لهذا البرنامج تصدير ودمج إدخالات تسجيل Windows من ضيف Windows.
المعلمة الأولى هي اسم ضيف libvirt أو صورة القرص الأولية لضيف Windows.
If --دمج is ليست المحدد ، ثم يتم عرض / تصدير مفتاح التسجيل المختار
(بشكل متكرر). على سبيل المثال:
$ Virt-win-reg Windows7 "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft"
يمكنك أيضًا عرض قيم فردية من داخل مفاتيح التسجيل ، على سبيل المثال:
$ cvkey = "HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion"
$ Virt-win-reg Windows7 $ cvkey اسم المنتج
نوافذ 7 المؤسسة
بدافع --دمج، يمكنك دمج ملف regedit نصي في سجل Windows:
$ Virt-win-reg - دمج تغييرات Windows7.reg
نوت
هذا البرنامج مخصص فقط للوصول البسيط إلى التسجيل. إذا كنت تريد أن تفعل
الأشياء المعقدة مع التسجيل ، نقترح عليك تنزيل ملفات خلية التسجيل من
الضيف باستخدام libguestfs(3) أو Guestfish(1) والوصول إليها محليًا ، على سبيل المثال. استخدام هيفيكس(3)
هيفكسش(1) أو hivexregedit(1).
OPTIONS
--مساعدة
اعرض تعليمات موجزة.
--الإصدار
عرض رقم الإصدار والخروج.
--Debug
تفعيل رسائل التصحيح.
-c URI
--الاتصال URI
إذا كنت تستخدم libvirt ، فقم بالاتصال بالملف URI. إذا تم حذفه ، فسنقوم بالاتصال بـ
برنامج libvirt الافتراضي.
إذا قمت بتحديد أجهزة حظر الضيف مباشرة ، فلن يتم استخدام libvirt على الإطلاق.
--صيغة الخام
حدد تنسيق صور القرص الواردة في سطر الأوامر. إذا تم حذف هذا بعد ذلك
يتم اكتشاف التنسيق تلقائيًا من محتوى صورة القرص.
إذا تم طلب صور القرص من libvirt ، فإن هذا البرنامج يطلب من libvirt لهذا الغرض
معلومة. في هذه الحالة ، يتم تجاهل قيمة معلمة التنسيق.
إذا كنت تعمل باستخدام صور قرص ضيف بتنسيق خام غير موثوق بها ، فيجب عليك التأكد من التنسيق
دائما محددا.
--دمج
في وضع الدمج ، يؤدي هذا إلى دمج ملف regedit نصي في سجل Windows الخاص بـ
آلة افتراضية. إذا كان هذا العلم ليست معطى ثم عروض Virt-win-reg أو الصادرات
إدخالات التسجيل بدلا من ذلك.
نلاحظ أن --دمج is غير مأمون لاستخدامها على الأجهزة الافتراضية الحية ، وسوف ينتج عنها قرص
فساد. ومع ذلك ، فإن التصدير (بدون هذه العلامة) يكون دائمًا آمنًا.
--التشفير UTF-16LE | ASCII
عند الدمج (فقط) ، قد تحتاج إلى تحديد ترميز السلاسل المراد استخدامها فيها
ملف الخلية. هذا موضح بالتفصيل في "سلاسل الترميز" في
فوز :: Hivex ::رجديت(3).
الإعداد الافتراضي هو استخدام UTF-16LE ، والذي يجب أن يعمل مع الإصدارات الحديثة من Windows.
- سلاسل غير آمنة للطباعة
عند التصدير (فقط) ، افترض أن السلاسل هي UTF-16LE واطبعها كسلاسل بدلاً من ذلك
من التسلسلات السداسية. قم بإزالة نقطة الرمز الصفرية النهائية من السلاسل إذا كانت موجودة.
هذا غير آمن ولا يحافظ على دقة السلاسل الموجودة في السجل الأصلي
لأسباب مختلفة:
· يفترض أن الترميز الأصلي هو UTF-16LE. سلاسل ASCII وسلاسل في أخرى
سيتم إتلاف الترميزات من خلال هذا التحول.
· يفترض أن كل شيء من النوع 1 أو 2 هو في الحقيقة سلسلة وتلك
كل شيء آخر ليس سلسلة ، لكن حقل النوع في السجلات الحقيقية ليس كذلك
موثوق بها.
· يفقد المعلومات حول ما إذا كانت نقطة الرمز الصفرية قد اتبعت السلسلة في الملف
التسجيل أم لا.
يحدث كل هذا لأن السجل نفسه لا يحتوي على معلومات حول كيفية استخدام السلاسل
مشفرة (راجع "سلاسل التشفير" بتنسيق فوز :: Hivex ::رجديت(3)).
يجب عليك فقط استخدام هذا الخيار للقرصنة السريعة وتصحيح أخطاء السجل
المحتويات و أبدا استخدمه إذا كان سيتم تمرير الإخراج إلى برنامج آخر أو
مخزنة في سجل آخر.
أيد سيستم
يدعم البرنامج حاليًا الضيوف المشتق من Windows NT بدءًا من Windows XP وحتى
إلى Windows 8 على الأقل.
مفاتيح التسجيل التالية مدعومة:
"HKEY_LOCAL_MACHINE \ SAM"
"HKEY_LOCAL_MACHINE \ SECURITY"
"HKEY_LOCAL_MACHINE \ SOFTWARE"
"HKEY_LOCAL_MACHINE \ SYSTEM"
"HKEY_USERS \ .DEFAULT"
"HKEY_USERS \SID "
أين SID هو معرّف الأمان (SID) الخاص بمستخدم Windows (على سبيل المثال "S-1-5-18").
"HKEY_USERS \اسم االمستخدم"
أين اسم المستخدم هو اسم مستخدم محلي (هذا امتداد libguestfs).
يمكنك استخدام "HKLM" كاختصار لـ "HKEY_LOCAL_MACHINE" و "HKU" لـ "HKEY_USERS".
لا يتم دعم المفاتيح الحرفية "HKEY_USERS \ $ SID" و "HKEY_CURRENT_USER" (لا يوجد
"المستخدم الحالي").
WINDOWS 8
يمكن لـ Windows 8 "بدء التشغيل السريع" منع Virt-win-reg من القدرة على تحرير السجل.
راجع "WINDOWS HIBERNATION و WINDOWS 8 FAST STARTUP" في Guestfs(3).
التشفير
تتوقع "Virt-win-reg" أن ملفات regedit قد تم بالفعل إعادة ترميزها في الملف المحلي
التشفير. عادةً على مضيفي Linux ، هذا يعني UTF-8 بنهايات سطر بنمط Unix. منذ
غالبًا ما تكون ملفات Windows regedit بتنسيق UTF-16LE بنهايات أسطر على غرار Windows ، قد تحتاجها
لإعادة ترميز الملف بأكمله قبل المعالجة أو بعدها.
لإعادة ترميز ملف من تنسيق Windows إلى Linux (قبل معالجته بامتداد --دمج
الخيار) ، ستفعل شيئًا كالتالي:
iconv -f utf-16le -t utf-8 <win.reg | dos2unix> linux.reg
للذهاب في الاتجاه المعاكس بعد التصدير وقبل إرسال الملف إلى Windows
مستخدم ، افعل شيئًا مثل هذا:
unix2dos linux.reg | iconv -f utf-8 -t utf-16le> win.reg
لمزيد من المعلومات حول الترميز ، راجع فوز :: Hivex ::رجديت(3).
إذا لم تكن متأكدًا من الترميز الحالي ، فاستخدم ملحق ملف(1) الأمر. الإصدارات الأخيرة من
ينتج Windows regedit.exe ملف UTF-16LE بنهايات أسطر بنمط Windows (CRLF) ، مثل
هذه:
ملف $ software.reg
software.reg: نص UTF-16 Unicode الصغير ، مع سطور طويلة جدًا ،
مع محولات خط CRLF
سيحتاج هذا الملف إلى التحويل قبل أن تتمكن من ذلك --دمج هنا.
نقرا وما إلى ذلك.
مفاتيح التسجيل مثل "CurrentControlSet" غير موجودة بالفعل في سجل Windows في
مستوى ملف الخلية ، وبالتالي لا يمكنك تعديلها.
عادةً ما يكون "CurrentControlSet" اسمًا مستعارًا لـ "ControlSet001". في بعض الظروف
قد يشير إلى مجموعة تحكم أخرى. طريقة معرفة ذلك هي إلقاء نظرة على
مفتاح "HKLM \ SYSTEM \ Select":
# Virt-win-reg WindowsGuest 'HKLM \ SYSTEM \ Select'
[HKEY_LOCAL_MACHINE \ SYSTEM \ تحديد]
"الحالي" = الكلمة المزدوجة: 00000001
"افتراضي" = الكلمة المزدوجة: 00000001
"فشل" = الكلمة المزدوجة: 00000000
"LastKnownGood" = الكلمة المزدوجة: 00000002
"الحالي" هو الذي سيختاره Windows عند بدء التشغيل.
وبالمثل ، قد يلزم استبدال مفاتيح أخرى "..." في المسار.
الحذف REGISTRY KEYS لأي لبس القيم
لحذف مفتاح تسجيل كامل ، استخدم بناء الجملة:
[-HKEY_LOCAL_MACHINE \ Foo]
لحذف قيمة واحدة داخل مفتاح ، استخدم بناء الجملة:
[HKEY_LOCAL_MACHINE \ Foo]
"القيمة" = -
WINDOWS TIPS
لاحظ أن بعض هذه النصائح تعدل صورة قرص الضيف. الضيف يجب انغلق ،
وإلا سوف تحصل على تلف القرص.
الركض و المشي A دفعة SCRIPT متى A USER السجلات IN
قم بإعداد برنامج نصي دفعة DOS أو VBScript أو قابل للتنفيذ. تحميل هذا باستخدام Guestfish(1). ل
هذا المثال يسمى البرنامج النصي "test.bat" ويتم تحميله في "C: \":
Guestfish -i -d WindowsGuest تحميل test.bat /test.bat
قم بإعداد ملف رجديت يحتوي على تغيير التسجيل:
cat> test.reg << "EOF"
[HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce]
"اختبار" = "c: \\ test.bat"
EOF
في هذا المثال ، نستخدم المفتاح "RunOnce" مما يعني أن البرنامج النصي سيعمل بدقة
مرة واحدة عند تسجيل دخول المستخدم الأول. إذا كنت تريد تشغيله في كل مرة يسجل فيها المستخدم الدخول ،
استبدل "RunOnce" بـ "Run".
الآن قم بتحديث التسجيل:
Virt-win-reg - دمج WindowsGuest test.reg
التثبيت A خدمة
يفترض هذا القسم أنك على دراية بخدمات Windows ، وإما أن لديك برنامجًا
الذي يتعامل مع بروتوكول التحكم في خدمة Windows مباشرة أو تريد تشغيل أي برنامج
باستخدام برنامج تضمين الخدمة مثل SrvAny أو RHSrvAny المجاني.
قم أولاً بتحميل البرنامج واختياريًا غلاف الخدمة. في هذه الحالة الاختبار
يسمى البرنامج "test.exe" ونحن نستخدم برنامج التضمين RHSrvAny:
guestfish -i -d WindowsGuest <
تحميل rhsrvany.exe /rhsrvany.exe
تحميل test.exe /test.exe
EOF
قم بإعداد ملف رجديت يحتوي على تغييرات التسجيل. في هذا المثال الأول
يلزم تغيير السجل للخدمة نفسها أو غلاف الخدمة (إذا تم استخدامه). ال
هناك حاجة إلى تغيير التسجيل الثاني فقط لأنني أستخدم برنامج تضمين خدمة RHSrvAny.
cat> service.reg << 'EOF'
[HKLM \ SYSTEM \ ControlSet001 \ خدمات \ RHSrvAny]
"النوع" = الكلمة المزدوجة: 00000010
"البدء" = الكلمة المزدوجة: 00000002
"ErrorControl" = الكلمة المزدوجة: 00000001
"ImagePath" = "c: \\ rhsrvany.exe"
"اسم العرض" = "RHSrvAny"
"اسم الكائن" = "خدمة الشبكة"
[HKLM \ SYSTEM \ ControlSet001 \ services \ RHSrvAny \ Parameters]
"CommandLine" = "c: \\ test.exe"
"الأشخاص ذوي الإعاقة" = "c: \\ Temp"
EOF
ملاحظة:
· لاستخدام "ControlSet001" ، راجع القسم أعلاه في صفحة الدليل هذه. قد تحتاج إلى
اضبط هذا وفقًا لمجموعة التحكم المستخدمة من قبل الضيف.
يتحكم "اسم الكائن" في الامتيازات التي ستتمتع بها الخدمة. البديل
"ObjectName" = "LocalSystem" والذي سيكون الحساب الأكثر امتيازًا.
· لمعرفة معنى الأرقام السحرية ، راجع مقالة قاعدة معارف Microsoft هذه:
http://support.microsoft.com/kb/103000.
تحديث التسجيل:
Virt-win-reg - دمج WindowsGuest service.reg
SHELL الاقتباس
كن حذرًا عند تمرير المعلمات التي تحتوي على "\" (شرطة مائلة للخلف) في الغلاف. عادة أنت
سيتعين عليك استخدام "علامات اقتباس مفردة" أو شرطات مائلة للخلف (ولكن ليس كلاهما) لحمايتهم من
القذيفة.
المسارات وأسماء القيم غير حساسة لحالة الأحرف.
استخدم Virt-win-reg عبر الإنترنت باستخدام خدمات onworks.net