Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp	(revision 71851)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp	(revision 71852)
@@ -1008,5 +1008,5 @@
     if (m_pRootItem)
         reset();
-    determineDriveLetters();
+
     /* Root item: */
     const QString startPath("/");
@@ -1021,8 +1021,17 @@
     m_pRootItem->appendChild(startItem);
     startItem->setIsOpened(false);
+    populateStartDirectory(startItem);
+    m_pView->setRootIndex(m_pModel->rootIndex());
+    m_pModel->signalUpdate();
+    updateCurrentLocationEdit(startPath);
+}
+
+void UIGuestControlFileTable::populateStartDirectory(UIFileTableItem *startItem)
+{
+    determineDriveLetters();
     if (m_driveLetterList.isEmpty())
     {
         /* Read the root directory and get the list: */
-        readDirectory(startPath, startItem, true);
+        readDirectory(startItem->path(), startItem, true);
     }
     else
@@ -1041,7 +1050,5 @@
         }
     }
-    m_pView->setRootIndex(m_pModel->rootIndex());
-    m_pModel->signalUpdate();
-    updateCurrentLocationEdit(startPath);
+
 }
 
@@ -1192,5 +1199,8 @@
     /* For now we clear the whole subtree (that isrecursively) which is an overkill: */
     treeItem->clearChildren();
-    readDirectory(treeItem->path(), treeItem, isRootDir);
+    if (isRootDir)
+        populateStartDirectory(treeItem);
+    else
+        readDirectory(treeItem->path(), treeItem, isRootDir);
     m_pModel->endReset();
     m_pView->setRootIndex(currentIndex);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h	(revision 71851)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h	(revision 71852)
@@ -336,4 +336,7 @@
     void            deSelectUpDirectoryItem();
     void            setSelectionForAll(QItemSelectionModel::SelectionFlags flags);
+    /** Start directory requires a special attention since on file systems with drive letters
+     *  drive letter are direct children of the start directory. On other systems start directory is '/' */
+    void            populateStartDirectory(UIFileTableItem *startItem);
     QGridLayout     *m_pMainLayout;
     QComboBox       *m_pLocationComboBox;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp	(revision 71851)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp	(revision 71852)
@@ -383,4 +383,14 @@
 void UIHostFileTable::determineDriveLetters()
 {
+    //#ifdef VBOX_WS_WIN
+
+    QFileInfoList drive = QDir::drives();
+
+    for (int i = 0; i < drive.size(); ++i)
+    {
+        m_driveLetterList.push_back(drive[i].filePath());
+
+    }
+    //#endif
 }
 
