خطا "نتوانستیم شی COM را دریافت کنیم" در VirtualBox می‌تواند دلایل مختلفی داشته باشد، بنابراین در تشخیص آن باید به توضیحات توجه کرد.

روش 1: فایل پیکربندی

اگر در توضیحات خطا ذکر شده باشد "سند خالی است" (سند خالی)، احتمالاً دلیل مشکل آسیب دیدن فایل پیکربندی VirtualBox است. در این صورت، راه‌حل مؤثر بازیابی تنظیمات از نسخه پشتیبان خودکار ایجاد شده توسط هایپروازر خواهد بود.

  1. هایپروازر و تمام ماشین‌های مجازی در حال اجرا را متوقف کنید.
  2. در نوار آدرس "مدیر فایل" مسیر %userprofile%.VirtualBox را وارد کنید و کلید Enter را فشار دهید تا به پوشه فایل پیکربندی برنامه بروید.
  3. نتوانستم شیء COM را در VirtualBox-1 دریافت کنم
  4. در پوشه فایل "VirtualBox.xml" را پیدا کرده و آن را به "VirtualBox.xml.bak" تغییر نام دهید، یعنی فقط یک پسوند اضافی اضافه کنید. فایل موجود در همین پوشه "VirtualBox.xml-prev" را به "VirtualBox.xml" تغییر نام دهید.
  5. نتوانستم شیء COM را در VirtualBox-2 دریافت کنم

تنظیمات بازیابی خواهند شد. پس از آن می‌توانید هایپروازر و ماشین‌های مجازی را راه‌اندازی کنید. اگر مشکل برطرف نشد، به عنوان مثال به دلیل آسیب دیدن هر دو فایل، باید آن‌ها را دوباره ایجاد کنید.

  1. برنامه را متوقف کنید و به همان شکل به پوشه ذکر شده در بالا ".VirtualBox" بروید. فایل‌های "VirtualBox.xml" و "VirtualBox.xml-prev" را با افزودن پسوند ".bak" یا ".old" تغییر نام دهید.
  2. نتوانستم شیء COM را در VirtualBox-3 دریافت کنم

  3. VirtualBox را راه‌اندازی کنید. در نتیجه، فایل پیکربندی و نسخه پشتیبان آن به طور خودکار توسط برنامه دوباره ایجاد خواهند شد.
  4. از آنجا که فایل‌های قدیمی تغییر نام داده شده و در دسترس نیستند، VirtualBox با یک پنجره خالی باز خواهد شد، بدون لیست ماشین‌های مجازی.در پنجره هایپر وایزر دکمه "افزودن" را فشار دهید.
  5. نتوانستم شیء COM را در VirtualBox-4 دریافت کنم
  6. در "مدیر فایل" مسیر فایل VBOX را که در پوشه فایل کانتینر ماشین مجازی قرار دارد، مشخص کنید. در این صورت داده‌ها در یک فایل پیکربندی جدید به نام "VirtualBox.xml" ذخیره خواهند شد.
  7. نتوانستم شیء COM را در VirtualBox-5 دریافت کنم
  8. برای افزودن به لیست سایر ماشین‌های مجازی از گزینه منوی "ماشین""افزودن" استفاده کنید.
  9. نتوانستم شیء COM را در VirtualBox-6 دریافت کنم
  10. عملکرد ماشین‌های مجازی را بررسی کنید. اگر همه چیز به درستی کار می‌کند، فایل‌های پیکربندی تغییر نام داده شده را می‌توان حذف کرد.

روش‌های ذکر شده در بالا نیز در صورتی که در توضیحات دقیق خطا نشانه‌های دیگری به فایل پیکربندی "VirtualBox.xml" وجود داشته باشد، مؤثر هستند، به عنوان مثال "xmlParseCharRef: invalid xmlChar value 0" و "Extra content at the end of the document".

روش 2: نصب مجدد درایور

علت خطای "نتوانستیم COM-شیء را دریافت کنیم" ممکن است به دلیل خرابی درایور هایپر وایزر باشد. در این صورت در توضیحات خطا می‌توان ارجاعی به فایل خراب مشاهده کرد، مثلاً "Driver is probably stuck…". سعی کنید آن را دوباره نصب کنید.

  1. برنامه و تمام ماشین‌های مجازی را ببندید، سپس به محل C:Program FilesOracleVirtualBoxdriversvboxsup بروید.
  2. با کلیک راست بر روی فایل "VBoxSup.inf" گزینه "نصب" را از منوی زمینه انتخاب کنید.
  3. نتوانستم شیء COM را در VirtualBox-7 دریافت کنم

عملکرد ماشین‌های مجازی را بررسی کنید.

روش 3: بررسی سرویس "VBoxSDS"

وضعیت سرویس پس‌زمینه "VBoxSDS" را که مسئول عملکرد هایپر وایزر است، بررسی کنید. همچنین می‌توانید عملکرد سرویس‌هایی که به آن وابسته است را نیز بررسی کنید.

  1. پنل مدیریت خدمات را با دستور services.msc در کادر گفتگوی "اجرا" (Win + R) باز کنید.
  2. نتوانستم شیء COM را در VirtualBox-8 دریافت کنم

  3. در لیست، خدمت با نام "VirtualBox system service" را پیدا کرده و با دو بار کلیک بر روی آن "خصوصیات" را باز کنید.
  4. نتوانستم شیء COM را در VirtualBox-9 دریافت کنم
  5. اگر نوع راه‌اندازی خدمت "غیرفعال" باشد، آن را با انتخاب از فهرست کشویی به "دستی" تغییر دهید. بر روی "شروع" کلیک کنید تا عملکرد خدمت را بررسی کنید. راه‌اندازی باید بدون خطا انجام شود.
  6. نتوانستم شیء COM را در VirtualBox-10 دریافت کنم
  7. اگر خدمت راه‌اندازی نمی‌شود، وابستگی‌ها را بررسی کنید. برای این کار در پنجره خصوصیات به تب هم‌نام بروید و ببینید که "VirtualBox system service" به کدام خدمات و اجزا وابسته است، سپس عملکرد آن‌ها را بررسی کنید.
  8. نتوانستم شیء COM را در VirtualBox-11 دریافت کنم
  9. بنابراین، خدمت VirtualBox به عملکرد خدمت "فراخوانی از راه دور (RPC)" وابسته است. این خدمت باید فعال باشد و نوع راه‌اندازی آن "خودکار" باشد.
  10. نتوانستم شیء COM را در VirtualBox-12 دریافت کنم

عدم توانایی در راه‌اندازی خدمت می‌تواند نشان‌دهنده آسیب‌دیدگی آن و همچنین آسیب‌دیدگی فایل‌های هایپرویزر باشد. در این صورت، توصیه می‌شود VirtualBox را دوباره نصب کنید. برای حذف برنامه بهتر است از برنامه‌های حذف‌کننده استفاده کنید که نه تنها فایل‌های اصلی برنامه را حذف می‌کنند، بلکه رکوردهای مرتبط در رجیستری را نیز پاک می‌کنند.

جزئیات بیشتر: برنامه‌هایی برای حذف برنامه‌ها

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