वर्चुअलबॉक्स त्रुटि अंतिम (Ubuntu) सॉफ़्टवेयर अपडेट के बाद


19
  • उबंटू संस्करण: 16.04

  • वर्चुअलबॉक्स संस्करण: 5.2.26

  • अपडेट जो कुछ टूट गया है: पिछले सप्ताह और आज (2019/03/18) के बीच

मैंने कंप्यूटर को चालू करने के बाद आज सुबह Ubuntu सॉफ्टवेयर अपडेटर चलाया। बाद में मैंने एक वर्चुअल बॉक्स मशीन (.deb के माध्यम से स्थापित संस्करण, उबंटू सॉफ्टवेयर सेंटर एक नहीं) को लॉन्च करने की कोशिश की और उस प्रसिद्ध त्रुटि को प्राप्त किया:

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

'/sbin/vboxconfig'

as root.

where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.

इसी तरह की समस्याओं के बारे में पढ़ने और समझने के बाद कि मुझे यह क्यों करना चाहिए, मैंने इसे निष्पादित किया (समान परिणाम 'sudo /usr/lib/virtualbox/vboxdrv.sh सेटअप' और इसी तरह की समस्याओं / पोस्ट के किसी भी अन्य समाधान के लिए जो मैंने इस साइट पर पाया है) ):

$ sudo /sbin/vboxconfig

vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.

.Log पढ़ना, मैं देखता हूं कि समस्या "get_user_pages" फ़ंक्शन से संबंधित है, और इस बिंदु पर मुझे ईमानदारी से पता नहीं है कि इसे कैसे हल किया जाए।

Building the main VirtualBox module.
Error building the module:
make V=1 CONFIG_MODULE_SIG= -C /lib/modules/4.4.0-143-generic/build SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j8 modules
make[1]: warning: -jN forced in submake: disabling jobserver mode.
mkdir -p /tmp/vbox.0/.tmp_versions ; rm -f /tmp/vbox.0/.tmp_versions/*
make -f ./scripts/Makefile.build obj=/tmp/vbox.0
[...]
[...]
[...]
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeLockUser’:
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1122:33: warning: passing argument 6 of ‘get_user_pages’ makes pointer from integer without a cast [-Wint-conversion]
                                 fWrite,                 /* force write access. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1222:6: note: expected ‘struct page **’ but argument is of type ‘int’
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1124:33: warning: passing argument 7 of ‘get_user_pages’ from incompatible pointer type [-Wincompatible-pointer-types]
                                 &pMemLnx->apPages[0],   /* Page array. */
                                 ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1222:6: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1112:18: error: too many arguments to function ‘get_user_pages’
             rc = get_user_pages(pTask,                  /* Task for fault accounting. */
                  ^
In file included from /tmp/vbox.0/r0drv/linux/the-linux-kernel.h:98:0,
                 from /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:31:
include/linux/mm.h:1222:6: note: declared here
 long get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
      ^
  gcc -Wp,-MD,/tmp/vbox.0/r0drv/linux/.mpnotification-r0drv-linux.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/5/include  -I./arch/x86/include -Iarch/x86/include/generated/uapi -Iarch/x86/include/generated  -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -Iubuntu/include  -D__KERNEL__ -fno-pie -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-pie -no-pie -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -DRETPOLINE -fno-delete-null-pointer-checks -Wno-maybe-uninitialized -O2 --param=allow-store-data-races=0 -DCC_HAVE_ASM_GOTO -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -include /tmp/vbox.0/include/VBox/SUPDrvMangling.h -fno-omit-frame-pointer -fno-pie -I/lib/modules/4.4.0-143-generic/build/include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DSUPDRV_WITH_RELEASE_LOGGER -Wno-declaration-after-statement -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(mpnotification_r0drv_linux)"  -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /tmp/vbox.0/r0drv/linux/.tmp_mpnotification-r0drv-linux.o /tmp/vbox.0/r0drv/linux/mpnotification-r0drv-linux.c
scripts/Makefile.build:285: recipe for target '/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o' failed
make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/initterm-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0drv/linux/initterm-r0drv-linux.o"; fi; fi;
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/SUPDrv.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/SUPDrv.o"; fi; fi;
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/assert-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0drv/linux/assert-r0drv-linux.o"; fi; fi;
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/alloc-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0drv/linux/alloc-r0drv-linux.o"; fi; fi;
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o"; fi; fi;
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/mpnotification-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0drv/linux/mpnotification-r0drv-linux.o"; fi; fi;
  if [ "-pg" = "-pg" ]; then if [ /tmp/vbox.0/r0drv/linux/mp-r0drv-linux.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount  "/tmp/vbox.0/r0drv/linux/mp-r0drv-linux.o"; fi; fi;
Makefile:1454: recipe for target '_module_/tmp/vbox.0' failed
make[1]: *** [_module_/tmp/vbox.0] Error 2
/tmp/vbox.0/Makefile.include.footer:101: recipe for target 'vboxdrv' failed
make: *** [vboxdrv] Error 2

मैंने इस त्रुटि संदेश के साथ समान समस्याओं के लिए पहले से ही प्रत्येक समाधान की कोशिश की है, लेकिन मेरे लिए कोई भी काम नहीं करता है।

पिछले Ubuntu अद्यतन के बाद किसी को भी ऐसी ही समस्या थी?

अद्यतन: मैंने पूरी तरह से वर्चुअलबॉक्स की स्थापना रद्द कर दी है, सिस्टम को फिर से शुरू किया, वर्चुअलबॉक्स को फिर से स्थापित किया, और अभी भी वही त्रुटि है।


2
पूर्ण रूप से। मुझे समझ में नहीं आता है कि ऐसे लोग हैं जो पिछले 10 मार्च को भरोसेमंद और ज़ेनियल के लिए हल किए जाने वाले त्रुटि के पिछले "संस्करण" का दावा कर रहे हैं और आज हमारे पास समस्या का एक "नया संस्करण" है।
अल्बर्टो मार्टीन

क्या आपने वीबी 6.0 की कोशिश की है?
हेयनेमा

1
मैंने आज कुछ होस्ट मशीनों को 4.4.0-143 में अपडेट करने के बाद इसे देखा है। एक के पास वर्चुअलबॉक्स का पुराना संस्करण था (5.0.x) और दूसरे का 5.2.x था (इसलिए यह बहुत पुराना नहीं था)। अद्यतन के बाद उनमें से कोई भी कर्नेल मॉड्यूल को स्थापित नहीं दिखाते हुए मेरे वीएम को लॉन्च करेगा। मैंने दोनों पर 5.1.38 में अपग्रेड / रिवर्ट किया, आखिरकार उन्हें VMs चलाने के लिए मिल रहा है। हालाँकि, जब मैं किसी एक अतिथि पर अतिथि परिवर्धन स्थापित करने का प्रयास करता हूँ, तो मुझे vboxadd-install.log फ़ाइल में get_user_pages त्रुटि मिलती है।
cosimo193

मुझे हाल ही में वही त्रुटि मिली जब मैंने वर्चुअलबॉक्स 5.2.18 और फिर v6.0 को स्थापित करने का प्रयास किया, मेरा लूप जो कि सिक्योर बूट के साथ एक यूईएफआई सिस्टम है, इसलिए इसमें एक अतिरिक्त जटिलता है, क्या आपका यूईएफआई सिस्टम है, अगर यह मुझे है मुझे पता है कि मुझे पता है कि इस एड को कैसे ठीक किया जाए। आप पुष्टि कर सकते हैं कि आपका सिस्टम UEFI है या कमांड नहीं चलाकर: cd / sys / फर्मवेयर / efi

यह किसी के लिए भी उपयोगी हो सकता है, तो: वहाँ पर एक बग रिपोर्ट है bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1821083
Ganton

जवाबों:


13

आसान जवाब, अभी के लिए - जब हम कर्नेल पैच की प्रतीक्षा करते हैं तो Vbox द्वारा प्रदान की गई गवाही का उपयोग करें।

आप यहाँ निर्माण पा सकते हैं । आपको उस पृष्ठ पर दिए गए वर्तमान लिंक का उपयोग करने की आवश्यकता होगी क्योंकि उदाहरण में यहां उपयोग किए गए लोग बदल गए हैं।

सुनिश्चित करें कि आपने अपने वर्तमान संस्करण की स्थापना रद्द कर दी है:

sudo apt remove virtualbox*
dkpk -r virtualbox 
# the tab key will autocomplete the version if there's one for dpkg to remove

परीक्षण बिल्ड स्थापित करें (उपरोक्त लिंक का उपयोग करके वर्चुअलबॉक्स द्वारा प्रदान की गई नवीनतम टेस्ट बिल्ड से मिलान करने के लिए यूआरएल बदलें - https://www.virtualbox.org/wiki/Testbuilds ):

wget https://www.virtualbox.org/download/testcase/VirtualBox-6.0.5-129423-Linux_amd64.run
chmod +x VirtualBox-6.0.5-129423-Linux_amd64.run
sudo ./VirtualBox-6.0.5-129423-Linux_amd64.run

यदि आपको एक्सटेंशन पैक की आवश्यकता है (उपरोक्त लिंक का उपयोग करके वर्चुअलबॉक्स द्वारा उपलब्ध कराए गए नवीनतम टेस्ट बिल्ड से मिलान करने के लिए यूआरएल बदलें - https://www.virtualbox.org/wiki/Testbuilds ):

wget https://www.virtualbox.org/download/testcase/Oracle_VM_VirtualBox_Extension_Pack-6.0.5-129380.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.0.5-129380.vbox-extpack

1
धन्यवाद Robco। मेरे पास यह कोशिश करने का समय नहीं है; मैंने वर्चुअलबॉक्स डाउनग्रेड कर दिया है और सिद्धांत रूप में मैं बस इंतजार करूंगा जब तक कि इसे ठीक नहीं किया जाएगा या बस अगले कर्नेल तक (मुझे वास्तव में वर्चुअलबॉक्स के अंतिम संस्करण की आवश्यकता नहीं है)। हालाँकि, आपका समाधान मुझे उन लोगों के लिए सबसे अच्छा लगता है, जिन्हें अंतिम संस्करण से पहले / पिछले संस्करण की आवश्यकता है, जहां तक ​​यह स्थिर है। क्या आपने स्वयं इसकी कोशिश की है? क्या यह स्थिर है?
अल्बर्टो मार्टीन

हाय अल्बर्टो। हां, मैं कर्नेल को डाउनग्रेड नहीं करना पसंद करता हूं और मैंने डाउनबॉक्स को अपग्रेड करने की कोशिश की (हो सकता है कि मैं बहुत दूर नहीं गया) लेकिन ड्राइवर अभी भी निर्माण करने में असमर्थ था। मैंने 4 उपयोगकर्ताओं के लिए यह किया है और कोई समस्या नहीं है।
रोबको

1
प्रतिक्रिया Robco के लिए धन्यवाद। बहुत अच्छा लगता है। उस मामले में मुझे लगता है कि यह समस्या का अब तक का सबसे सुरुचिपूर्ण समाधान है।
अल्बर्टो मार्टीन

1
आप इस पृष्ठ पर नवीनतम परीक्षण बिल्ड पा सकते हैं: virtualbox.org/wiki/Testbuilds
टॉम सालेबा

2
इसके पास एक चेतावनी है: "कृपया संस्करण 5.2 का भी उपयोग करें यदि आपको अभी भी 32-बिट होस्ट के लिए समर्थन की आवश्यकता है, क्योंकि यह 6.0" virtualbox.org/wiki/Downloads में बंद कर दिया गया है । 32-बिट मेहमान अभी भी समर्थित हैं।
पिस्कवर

4

मेरी वही समस्याएं हैं।

मैंने पिछली कर्नेल पर वापस स्विच किया। इसे देखें: http://karlcode.owtelse.com/blog/2017/03/13/reverting-to-a-prebel-kene/

इसके बाद वर्चुअल बॉक्स को फिर से इंस्टॉल करें और यह फिर से काम कर रहा है।

सादर एलेक्स


नमस्ते एलेक्स। जितना संभव हो सकता है उतना ही चाल चल सकता है, मुझे यह बहुत गन्दा लगता है और कभी-कभी बहुत ही वर्चुअलबॉक्स को अपग्रेड करने की तुलना में जोखिम भरा होता है, जो पूरी तरह से काम करेगा।
अल्बर्टो मार्टीन

4

यह ज्ञात बग 1818049 के समान दिखता है जिसका नाम "वर्चुअलबॉक्स डीकेएमएस मॉड्यूल लाइनक्स 4.4.0-143.169 के साथ बनाने में विफल रहा है [त्रुटि: 'get_user_pages'] को संचालित करने के लिए कई तर्क"

वास्तविक कार्य समाधान TTY समस्या के लिए समान होगा - नवीनतम गुठली निकालें और पिछले अच्छे को स्थापित करें ( 4.4.0-138-जेनेरिक मेरे लिए सबसे अच्छा लगता है - USB 3.0 सुरक्षित रूप से निकालें काम करेगा, गैटी समस्या अनुपस्थित होगी):

sudo apt-get purge linux-image-generic linux-headers-generic
sudo apt-get purge linux-image-4.4.0-139-generic linux-headers-4.4.0-139-generic \
linux-image-4.4.0-140-generic linux-headers-4.4.0-140-generic \
linux-image-4.4.0-141-generic linux-headers-4.4.0-141-generic \
linux-image-4.4.0-142-generic linux-headers-4.4.0-142-generic \
linux-image-4.4.0-143-generic linux-headers-4.4.0-143-generic

sudo apt-get install amd64-microcode intel-microcode thermald
sudo apt-get autoremove

sudo apt-get install linux-image-4.4.0-138-generic linux-image-extra-4.4.0-138-generic
sudo apt-get install linux-headers-4.4.0-138 linux-headers-4.4.0-138-generic

और बाद में रिबूट। इसलिए हमें सामान्य स्थिर अच्छी तरह से परीक्षण किए गए कर्नेल की प्रतीक्षा करने की आवश्यकता है ।

चेतावनी: यदि आप मेहमानों और मेजबानों पर वर्चुअलबॉक्स की जरूरत है तो कर्नेल को 4.4.0-143-जेनेरिक में अपग्रेड न करें । बग 1818049 बग की सदस्यता लें और फिक्स की पुष्टि के बाद - नवीनतम कर्नेल वापस स्थापित करें sudo apt-get install linux-image-generic linux-headers-generic


3

Ubuntu 16.04 के लिए सबसे आसान फिक्स कर्नेल को उसी वर्जन में अपग्रेड करना है जो Ubuntu 18.04 निम्न कमांड को चलाकर उपयोग करता है:

sudo apt-get install --install-recommends linux-generic-hwe-16.04

उपरोक्त आदेश चलाने के बाद रिबूट करें।

यदि आप dkms चलाते हैं, तो आपको मशीन रिबूट के बाद अतिथि परिवर्धन को पुनर्स्थापित नहीं करना होगा। और, अतिथि परिवर्धन को फिर से स्थापित करें, और इसे अब Ubuntu 16.04 में ठीक काम करना चाहिए


धन्यवाद, मेरे लिए काम किया
जेसन मॉर्गन

2

अल्बर्टो की तरह बहुत

  1. sudo /usr/lib/virtualbox/vboxdrv.sh सेटअप (मुझे त्रुटियां मिलती हैं, लेकिन IBox ...)
  2. sudo dpkg -l | grep वर्चुअलबॉक्स (VBox संस्करण प्राप्त करें।)
  3. sudo apt-get purge virtualbox-5.XYZ virtualbox-qt (चरण 2 से XYZ संस्करण)
  4. उबंटू सॉफ्टवेयर से इंस्टॉल किया गया: यह घटकर 5.1.38 हो गया

ऊपर और फिर से चल रहा है!


2

इसे हल करने के लिए बहुत प्रयास करने के बाद (न तो डीकेएमएस और न ही सिनैप्टिक्स समस्या के समाधान के रूप में उपयोगी लगते हैं), मैं ऐसा करने में असमर्थ रहा हूं, इसलिए उन लोगों के लिए मंदिर समाधान के रूप में जो एक ही स्थिति में हो सकते हैं, और बस क्रम में अतिथि मशीनों के साथ काम करने में सक्षम होने के लिए, मैं सुझाव देता हूं कि वर्चुअलबॉक्स को डाउनग्रेड करने के लिए यूएससी प्रस्तावों की पेशकश करें।

  • बस वर्तमान वर्चुअलबॉक्स संस्करण की स्थापना रद्द करें (मैंने इसे सिनैप्टिक्स के माध्यम से किया था, लेकिन जीडीबी पूरी तरह से काम करेगा)।

  • वर्चुअलबॉक्स यूएससी स्थापित संस्करण (या तो USC या Synaptics के माध्यम से) स्थापित करें

  • डाउनग्रेड (अनइंस्टॉल-इंस्टाल) होस्ट मशीन में VBoxGuestAdditions मॉड्यूल।

  • अतिथि मशीनों में, VBoxGuestAdditions (पुरानी VBoxGuestAdditions CD डालें और चलाएँ) को डाउनग्रेड करना याद रखें।

समस्या / त्रुटि अभी भी है क्योंकि यह अंतिम वर्चुअलबॉक्स संस्करण का उपयोग करने की अनुमति नहीं देता है, मुझे आशा है कि यह हालांकि मदद करता है, लेकिन मैं फिर से स्थापित करने और उपयोग करने में सक्षम होने के लिए एक अंतिम समाधान की सराहना करता हूं। फिर से संस्करण का उपयोग करें।

अद्यतन: अब तक ऐसा लगता है कि कोई अंतिम समाधान नहीं है, इसलिए मेरे मामले में * यह सबसे सरल एक है। (* व्यक्तिगत रूप से मैं पिछले Ubuntu kernels पर वापस जाने के बजाय वर्चुअलबॉक्स को डाउनग्रेड करना पसंद करता हूं)।

हालाँकि, यदि किसी कारण से किसी को VirtualBox के अंतिम संस्करण का उपयोग / स्थापित करने की आवश्यकता है, तो वह इन निर्देशों का पालन कर सकता है, जिसका उल्लेख अन्य उपयोगकर्ताओं द्वारा भी किया गया है: https://bugs.launchpad.net/ubuntu/+source/virtualbox/ + बग / 1,818,049 / टिप्पणी / 27


1

मैंने भी इस समस्या को देखा। मेरे पास Ubuntu 16.04 LTS है। यह 4.4.0-143 कर्नेल पर अद्यतन हुआ। वर्चुअलबॉक्स (5.2.14) vboxdrv.ko का निर्माण नहीं करेगा। कर्नेल 4.4.0-142 (फिर हटाने -143) में अपग्रेड करने से समस्या हल हो गई।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.