خطا "نتوانستیم شی COM را دریافت کنیم" در VirtualBox میتواند دلایل مختلفی داشته باشد، بنابراین در تشخیص آن باید به توضیحات توجه کرد.
روش 1: فایل پیکربندی
اگر در توضیحات خطا ذکر شده باشد "سند خالی است" (سند خالی)، احتمالاً دلیل مشکل آسیب دیدن فایل پیکربندی VirtualBox است. در این صورت، راهحل مؤثر بازیابی تنظیمات از نسخه پشتیبان خودکار ایجاد شده توسط هایپروازر خواهد بود.
- هایپروازر و تمام ماشینهای مجازی در حال اجرا را متوقف کنید.
- در نوار آدرس "مدیر فایل" مسیر
%userprofile%.VirtualBox
را وارد کنید و کلید Enter را فشار دهید تا به پوشه فایل پیکربندی برنامه بروید. - در پوشه فایل "VirtualBox.xml" را پیدا کرده و آن را به "VirtualBox.xml.bak" تغییر نام دهید، یعنی فقط یک پسوند اضافی اضافه کنید. فایل موجود در همین پوشه "VirtualBox.xml-prev" را به "VirtualBox.xml" تغییر نام دهید.


تنظیمات بازیابی خواهند شد. پس از آن میتوانید هایپروازر و ماشینهای مجازی را راهاندازی کنید. اگر مشکل برطرف نشد، به عنوان مثال به دلیل آسیب دیدن هر دو فایل، باید آنها را دوباره ایجاد کنید.
- برنامه را متوقف کنید و به همان شکل به پوشه ذکر شده در بالا ".VirtualBox" بروید. فایلهای "VirtualBox.xml" و "VirtualBox.xml-prev" را با افزودن پسوند ".bak" یا ".old" تغییر نام دهید.
- VirtualBox را راهاندازی کنید. در نتیجه، فایل پیکربندی و نسخه پشتیبان آن به طور خودکار توسط برنامه دوباره ایجاد خواهند شد.
- از آنجا که فایلهای قدیمی تغییر نام داده شده و در دسترس نیستند، VirtualBox با یک پنجره خالی باز خواهد شد، بدون لیست ماشینهای مجازی.در پنجره هایپر وایزر دکمه "افزودن" را فشار دهید.
- در "مدیر فایل" مسیر فایل VBOX را که در پوشه فایل کانتینر ماشین مجازی قرار دارد، مشخص کنید. در این صورت دادهها در یک فایل پیکربندی جدید به نام "VirtualBox.xml" ذخیره خواهند شد.
- برای افزودن به لیست سایر ماشینهای مجازی از گزینه منوی "ماشین" → "افزودن" استفاده کنید.
- عملکرد ماشینهای مجازی را بررسی کنید. اگر همه چیز به درستی کار میکند، فایلهای پیکربندی تغییر نام داده شده را میتوان حذف کرد.



روشهای ذکر شده در بالا نیز در صورتی که در توضیحات دقیق خطا نشانههای دیگری به فایل پیکربندی "VirtualBox.xml" وجود داشته باشد، مؤثر هستند، به عنوان مثال "xmlParseCharRef: invalid xmlChar value 0" و "Extra content at the end of the document".
روش 2: نصب مجدد درایور
علت خطای "نتوانستیم COM-شیء را دریافت کنیم" ممکن است به دلیل خرابی درایور هایپر وایزر باشد. در این صورت در توضیحات خطا میتوان ارجاعی به فایل خراب مشاهده کرد، مثلاً "Driver is probably stuck…". سعی کنید آن را دوباره نصب کنید.
- برنامه و تمام ماشینهای مجازی را ببندید، سپس به محل
C:Program FilesOracleVirtualBoxdriversvboxsup
بروید. - با کلیک راست بر روی فایل "VBoxSup.inf" گزینه "نصب" را از منوی زمینه انتخاب کنید.

عملکرد ماشینهای مجازی را بررسی کنید.
روش 3: بررسی سرویس "VBoxSDS"
وضعیت سرویس پسزمینه "VBoxSDS" را که مسئول عملکرد هایپر وایزر است، بررسی کنید. همچنین میتوانید عملکرد سرویسهایی که به آن وابسته است را نیز بررسی کنید.
- پنل مدیریت خدمات را با دستور
services.msc
در کادر گفتگوی "اجرا" (Win + R) باز کنید. - در لیست، خدمت با نام "VirtualBox system service" را پیدا کرده و با دو بار کلیک بر روی آن "خصوصیات" را باز کنید.
- اگر نوع راهاندازی خدمت "غیرفعال" باشد، آن را با انتخاب از فهرست کشویی به "دستی" تغییر دهید. بر روی "شروع" کلیک کنید تا عملکرد خدمت را بررسی کنید. راهاندازی باید بدون خطا انجام شود.
- اگر خدمت راهاندازی نمیشود، وابستگیها را بررسی کنید. برای این کار در پنجره خصوصیات به تب همنام بروید و ببینید که "VirtualBox system service" به کدام خدمات و اجزا وابسته است، سپس عملکرد آنها را بررسی کنید.
- بنابراین، خدمت VirtualBox به عملکرد خدمت "فراخوانی از راه دور (RPC)" وابسته است. این خدمت باید فعال باشد و نوع راهاندازی آن "خودکار" باشد.




عدم توانایی در راهاندازی خدمت میتواند نشاندهنده آسیبدیدگی آن و همچنین آسیبدیدگی فایلهای هایپرویزر باشد. در این صورت، توصیه میشود VirtualBox را دوباره نصب کنید. برای حذف برنامه بهتر است از برنامههای حذفکننده استفاده کنید که نه تنها فایلهای اصلی برنامه را حذف میکنند، بلکه رکوردهای مرتبط در رجیستری را نیز پاک میکنند.
جزئیات بیشتر: برنامههایی برای حذف برنامهها
پس از حذف VirtualBox حتماً کامپیوتر را ریستارت کنید. اگر خطای "نتوانستیم شیء COM را دریافت کنیم" هنگام راهاندازی فقط یک ماشین مجازی خاص رخ میدهد، آن را حذف کرده و دوباره ایجاد کنید. اگر VM شامل دادههای مهمی است، میتوانید فایل کانتینر VDI را ذخیره کرده و سپس سعی کنید آن را به VM به عنوان یک دیسک مجازی جداگانه متصل کنید.